Coverage Report

Created: 2025-08-15 01:51

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
52.4k
    {
87
52.4k
        return s - i;
88
52.4k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
49.8k
    {
87
49.8k
        return s - i;
88
49.8k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
2.66k
    {
87
2.66k
        return s - i;
88
2.66k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
52.5k
    {
108
52.5k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
52.5k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
49.8k
    {
108
49.8k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
49.8k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
2.66k
    {
108
2.66k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
2.66k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
80.6k
    {
132
80.6k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
80.6k
        return t;
136
80.6k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
106k
    {
151
106k
        i += n;
152
106k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
101k
    {
151
101k
        i += n;
152
101k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
5.77k
    {
151
5.77k
        i += n;
152
5.77k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.84k
    {
161
3.84k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.84k
        if (n > zero) {
164
144
            while (n-- > zero) {
165
72
                ++i;
166
72
            }
167
72
        }
168
3.77k
        else {
169
3.77k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.77k
        }
173
3.84k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.53k
    {
161
1.53k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.53k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.53k
        else {
169
1.53k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.53k
        }
173
1.53k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
72
    {
161
72
        constexpr auto zero = iter_difference_t<I>{0};
162
163
72
        if (n > zero) {
164
144
            while (n-- > zero) {
165
72
                ++i;
166
72
            }
167
72
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
72
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.23k
    {
161
2.23k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.23k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.23k
        else {
169
2.23k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.23k
        }
173
2.23k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.89k
    {
190
1.89k
        i = std::move(bound);
191
1.89k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
986
    {
190
986
        i = std::move(bound);
191
986
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
910
    {
190
910
        i = std::move(bound);
191
910
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
252
    {
203
4.11k
        while (i != bound) {
204
3.86k
            ++i;
205
3.86k
        }
206
252
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
174
    {
203
2.74k
        while (i != bound) {
204
2.56k
            ++i;
205
2.56k
        }
206
174
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
40.3k
    {
212
40.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
40.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
40.2k
        return n;
219
40.3k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
40.3k
    {
212
40.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
40.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
40.2k
        return n;
219
40.3k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.28k
    {
227
4.28k
        constexpr iter_difference_t<I> zero{0};
228
4.28k
        iter_difference_t<I> counter{0};
229
230
4.28k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.28k
        else {
237
14.8k
            while (n-- > zero && i != bound) {
238
10.5k
                ++i;
239
10.5k
                ++counter;
240
10.5k
            }
241
4.28k
        }
242
243
4.28k
        return counter;
244
4.28k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.38k
    {
227
3.38k
        constexpr iter_difference_t<I> zero{0};
228
3.38k
        iter_difference_t<I> counter{0};
229
230
3.38k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.38k
        else {
237
11.4k
            while (n-- > zero && i != bound) {
238
8.10k
                ++i;
239
8.10k
                ++counter;
240
8.10k
            }
241
3.38k
        }
242
243
3.38k
        return counter;
244
3.38k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
902
    {
227
902
        constexpr iter_difference_t<I> zero{0};
228
902
        iter_difference_t<I> counter{0};
229
230
902
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
902
        else {
237
3.34k
            while (n-- > zero && i != bound) {
238
2.44k
                ++i;
239
2.44k
                ++counter;
240
2.44k
            }
241
902
        }
242
243
902
        return counter;
244
902
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
70.5k
    {
268
70.5k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
70.5k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
60.8k
    {
268
60.8k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
60.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
5.77k
    {
268
5.77k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
5.77k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.53k
    {
268
1.53k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.53k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
72
    {
268
72
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
72
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.23k
    {
268
2.23k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.23k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
2.06k
    {
275
2.06k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
2.06k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
902
    {
275
902
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
174
    {
275
174
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
910
    {
275
910
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
910
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
44.6k
    {
283
44.6k
        return n - fn::impl_i_n_s(i, n, bound);
284
44.6k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.38k
    {
283
3.38k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.38k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
40.3k
    {
283
40.3k
        return n - fn::impl_i_n_s(i, n, bound);
284
40.3k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
902
    {
283
902
        return n - fn::impl_i_n_s(i, n, bound);
284
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
122k
    {
296
122k
        ++x;
297
122k
        return x;
298
122k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.53k
    {
296
2.53k
        ++x;
297
2.53k
        return x;
298
2.53k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
27.6k
    {
296
27.6k
        ++x;
297
27.6k
        return x;
298
27.6k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.40k
    {
296
1.40k
        ++x;
297
1.40k
        return x;
298
1.40k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
90.9k
    {
296
90.9k
        ++x;
297
90.9k
        return x;
298
90.9k
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
66.7k
    {
304
66.7k
        ranges::advance(x, n);
305
66.7k
        return x;
306
66.7k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
60.8k
    {
304
60.8k
        ranges::advance(x, n);
305
60.8k
        return x;
306
60.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
5.77k
    {
304
5.77k
        ranges::advance(x, n);
305
5.77k
        return x;
306
5.77k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
72
    {
304
72
        ranges::advance(x, n);
305
72
        return x;
306
72
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
2.06k
    {
313
2.06k
        ranges::advance(x, bound);
314
2.06k
        return x;
315
2.06k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
902
    {
313
902
        ranges::advance(x, bound);
314
902
        return x;
315
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
174
    {
313
174
        ranges::advance(x, bound);
314
174
        return x;
315
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
910
    {
313
910
        ranges::advance(x, bound);
314
910
        return x;
315
910
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
37.1k
{
458
37.1k
    return is_ascii_space_lookup[static_cast<size_t>(
459
37.1k
        static_cast<unsigned char>(ch))];
460
37.1k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
252k
{
469
252k
    return static_cast<unsigned char>(ch) <= 127;
470
252k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
4.11k
{
474
4.11k
#if WCHAR_MIN < 0
475
4.11k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
4.11k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
274k
{
483
274k
    return cp <= 127;
484
274k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + n) - (word & ~0ull / 255 * 127)) & ~word &
532
0
             ((word & ~0ull / 255 * 127) + ~0ull / 255 * (127 - m))) &
533
0
            (~0ull / 255 * 128));
534
0
}
535
536
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
537
30.3k
{
538
30.3k
    SCN_GCC_PUSH
539
30.3k
    SCN_GCC_IGNORE("-Wsign-conversion")
540
30.3k
    return ((word + ~0ull / 255 * (127 - n)) | word) & ~0ull / 255 * 128;
541
30.3k
    SCN_GCC_POP
542
30.3k
}
543
544
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
545
0
{
546
0
    word ^= 0x8080808080808080ull;
547
0
    if (word == 0) {
548
0
        return 8;
549
0
    }
550
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
551
0
}
552
553
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
554
0
{
555
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
556
0
    auto input = word ^ pattern;
557
0
    auto tmp = (input & mask) + mask;
558
0
    tmp = ~(tmp | input | mask);
559
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
560
0
}
561
562
constexpr uint32_t log2_fast(uint32_t val)
563
0
{
564
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
565
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
566
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
567
0
568
0
    val |= val >> 1;
569
0
    val |= val >> 2;
570
0
    val |= val >> 4;
571
0
    val |= val >> 8;
572
0
    val |= val >> 16;
573
0
574
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
575
0
}
576
577
constexpr uint32_t log2_pow2_fast(uint32_t val)
578
0
{
579
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
580
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
581
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
582
0
583
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
584
0
}
585
586
constexpr uint64_t byteswap(uint64_t val)
587
0
{
588
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
589
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
590
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
591
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
592
0
}
593
594
/////////////////////////////////////////////////////////////////
595
// <function_ref>
596
/////////////////////////////////////////////////////////////////
597
598
namespace fnref_detail {
599
template <class T>
600
inline constexpr auto select_param_type = [] {
601
    if constexpr (std::is_trivially_copyable_v<T>) {
602
        return detail::type_identity<T>();
603
    }
604
    else {
605
        return std::add_rvalue_reference<T>();
606
    }
607
};
608
609
template <class T>
610
using param_t =
611
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
612
613
template <typename Sig>
614
struct qual_fn_sig;
615
616
template <typename R, typename... Args>
617
struct qual_fn_sig<R(Args...)> {
618
    using function = R(Args...);
619
620
    static constexpr bool is_noexcept = false;
621
622
    template <typename... T>
623
    static constexpr bool is_invocable_using =
624
        std::is_invocable_r_v<R, T..., Args...>;
625
626
    template <typename T>
627
    using cv = T;
628
};
629
630
template <typename R, typename... Args>
631
struct qual_fn_sig<R(Args...) noexcept> {
632
    using function = R(Args...);
633
634
    static constexpr bool is_noexcept = true;
635
636
    template <typename... T>
637
    static constexpr bool is_invocable_using =
638
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
639
640
    template <typename T>
641
    using cv = T;
642
};
643
644
template <typename R, typename... Args>
645
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
646
    template <typename T>
647
    using cv = T const;
648
};
649
650
template <typename R, typename... Args>
651
struct qual_fn_sig<R(Args...) const noexcept>
652
    : qual_fn_sig<R(Args...) noexcept> {
653
    template <typename T>
654
    using cv = T const;
655
};
656
657
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
658
SCN_CLANG_PUSH
659
SCN_CLANG_IGNORE("-Wcast-function-type-strict")
660
#endif
661
struct base {
662
    union storage {
663
        constexpr storage() = default;
664
665
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
666
102k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
102k
        {
668
102k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.72k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.72k
        {
668
2.72k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
23.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
23.0k
        {
668
23.0k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
40.8k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
40.8k
        {
668
40.8k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
1.04k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.04k
        {
668
1.04k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
564
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
564
        {
668
564
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
8
        {
668
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
360
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
360
        {
668
360
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
22
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22
        {
668
22
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
12
        {
668
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
356
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
356
        {
668
356
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6
        {
668
6
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
290
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
290
        {
668
290
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
972
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
972
        {
668
972
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.85k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.85k
        {
668
2.85k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
3.45k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.45k
        {
668
3.45k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
4.55k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
4.55k
        {
668
4.55k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
526
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
526
        {
668
526
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
444
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
444
        {
668
444
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
11.4k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
11.4k
        {
668
11.4k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
26
        {
668
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
184
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
184
        {
668
184
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
24
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
24
        {
668
24
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
172
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
172
        {
668
172
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
428
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
428
        {
668
428
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
450
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
450
        {
668
450
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
2.59k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.59k
        {
668
2.59k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
74
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
74
        {
668
74
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
628
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
628
        {
668
628
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
2.23k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.23k
        {
668
2.23k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
486
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
486
        {
668
486
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
1.20k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.20k
        {
668
1.20k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
669
670
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
671
7.36k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
7.36k
        {
673
7.36k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
472
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
472
        {
673
472
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
450
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
450
        {
673
450
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
378
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
378
        {
673
378
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
2.31k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
2.31k
        {
673
2.31k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
210
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
210
        {
673
210
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
1.38k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
1.38k
        {
673
1.38k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
342
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
342
        {
673
342
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
204
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
204
        {
673
204
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
402
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
402
        {
673
402
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
204
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
204
        {
673
204
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
500
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
500
        {
673
500
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
510
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
510
        {
673
510
        }
674
675
        template <typename F,
676
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
677
        constexpr explicit storage(F* f) noexcept
678
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
679
        {
680
        }
681
682
        void* m_p{nullptr};
683
        const void* m_cp;
684
        void (*m_fp)();
685
    };
686
687
    template <typename T>
688
    static constexpr auto get(storage s)
689
737k
    {
690
737k
        if constexpr (std::is_const_v<T>) {
691
293k
            return static_cast<T*>(s.m_cp);
692
        }
693
444k
        else if constexpr (std::is_object_v<T>) {
694
444k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
737k
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
7.13k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.13k
        else if constexpr (std::is_object_v<T>) {
694
7.13k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
294k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
294k
        else if constexpr (std::is_object_v<T>) {
694
294k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
294k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
50.8k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
50.8k
        else if constexpr (std::is_object_v<T>) {
694
50.8k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
50.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
1.04k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.04k
        else if constexpr (std::is_object_v<T>) {
694
1.04k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.04k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
890
    {
690
890
        if constexpr (std::is_const_v<T>) {
691
890
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
890
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.71k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.71k
        else if constexpr (std::is_object_v<T>) {
694
1.71k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.71k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
8
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8
        else if constexpr (std::is_object_v<T>) {
694
8
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
360
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
360
        else if constexpr (std::is_object_v<T>) {
694
360
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
360
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
22
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22
        else if constexpr (std::is_object_v<T>) {
694
22
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
12
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12
        else if constexpr (std::is_object_v<T>) {
694
12
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
356
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
356
        else if constexpr (std::is_object_v<T>) {
694
356
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
356
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6
        else if constexpr (std::is_object_v<T>) {
694
6
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
290
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
290
        else if constexpr (std::is_object_v<T>) {
694
290
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
290
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
12.4k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12.4k
        else if constexpr (std::is_object_v<T>) {
694
12.4k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12.4k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.2k
    {
690
10.2k
        if constexpr (std::is_const_v<T>) {
691
10.2k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
7.21k
    {
690
7.21k
        if constexpr (std::is_const_v<T>) {
691
7.21k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.21k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
254k
    {
690
254k
        if constexpr (std::is_const_v<T>) {
691
254k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
254k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
3.13k
    {
690
3.13k
        if constexpr (std::is_const_v<T>) {
691
3.13k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
6.68k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.68k
        else if constexpr (std::is_object_v<T>) {
694
6.68k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.68k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
9.09k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
9.09k
        else if constexpr (std::is_object_v<T>) {
694
9.09k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
9.09k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
5.78k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
5.78k
        else if constexpr (std::is_object_v<T>) {
694
5.78k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
5.78k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
556
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
556
        else if constexpr (std::is_object_v<T>) {
694
556
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
556
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.23k
    {
690
2.23k
        if constexpr (std::is_const_v<T>) {
691
2.23k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.23k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
898
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
898
        else if constexpr (std::is_object_v<T>) {
694
898
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
898
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
17.2k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
17.2k
        else if constexpr (std::is_object_v<T>) {
694
17.2k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
17.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
188
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
188
        else if constexpr (std::is_object_v<T>) {
694
188
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
188
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
172
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
172
        else if constexpr (std::is_object_v<T>) {
694
172
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
172
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
428
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
428
        else if constexpr (std::is_object_v<T>) {
694
428
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
428
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
6.43k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.43k
        else if constexpr (std::is_object_v<T>) {
694
6.43k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.43k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.29k
    {
690
4.29k
        if constexpr (std::is_const_v<T>) {
691
4.29k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.29k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.84k
    {
690
1.84k
        if constexpr (std::is_const_v<T>) {
691
1.84k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.84k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
19.9k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
19.9k
        else if constexpr (std::is_object_v<T>) {
694
19.9k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
19.9k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.98k
    {
690
4.98k
        if constexpr (std::is_const_v<T>) {
691
4.98k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.98k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.27k
    {
690
2.27k
        if constexpr (std::is_const_v<T>) {
691
2.27k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.27k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.86k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.86k
        else if constexpr (std::is_object_v<T>) {
694
1.86k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.86k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
628
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
628
        else if constexpr (std::is_object_v<T>) {
694
628
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
628
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
716
    {
690
716
        if constexpr (std::is_const_v<T>) {
691
716
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
716
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.44k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
3.44k
        else if constexpr (std::is_object_v<T>) {
694
3.44k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.44k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
486
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
486
        else if constexpr (std::is_object_v<T>) {
694
486
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
486
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
782
    {
690
782
        if constexpr (std::is_const_v<T>) {
691
782
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
782
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.68k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.68k
        else if constexpr (std::is_object_v<T>) {
694
1.68k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.68k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
700
};
701
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
702
SCN_CLANG_POP  // -Wcast-function-type-strict
703
#endif
704
705
}  // namespace fnref_detail
706
707
template <typename Sig,
708
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
709
class function_ref;
710
711
template <typename Sig, typename R, typename... Args>
712
class function_ref<Sig, R(Args...)> : fnref_detail::base {
713
    using signature = fnref_detail::qual_fn_sig<Sig>;
714
715
    template <typename T>
716
    using cv = typename signature::template cv<T>;
717
    template <typename T>
718
    using cvref = cv<T>&;
719
    static constexpr bool noex = signature::is_noexcept;
720
721
    template <typename... T>
722
    static constexpr bool is_invocable_using =
723
        signature::template is_invocable_using<T...>;
724
725
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
726
727
public:
728
    template <typename F,
729
              std::enable_if_t<std::is_function_v<F> &&
730
                               is_invocable_using<F>>* = nullptr>
731
    /*implicit*/ function_ref(F* f) noexcept
732
        : m_fptr([](storage fn,
733
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
734
              if constexpr (std::is_void_v<R>) {
735
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
736
              }
737
              else {
738
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
739
              }
740
          }),
741
          m_storage(f)
742
    {
743
        SCN_EXPECT(f != nullptr);
744
    }
745
746
    template <typename F,
747
              typename T = std::remove_reference_t<F>,
748
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
749
                               !std::is_member_pointer_v<T> &&
750
                               is_invocable_using<cvref<T>>>* = nullptr>
751
    /*implicit*/ constexpr function_ref(F&& f) noexcept
752
109k
        : m_fptr([](storage fn,
753
737k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
737k
              cvref<T> obj = *get<T>(fn);
755
737k
              if constexpr (std::is_void_v<R>) {
756
59.9k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
677k
              else {
759
677k
                  return obj(static_cast<decltype(args)>(args)...);
760
677k
              }
761
737k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
753
7.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.13k
              else {
759
7.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.13k
              }
761
7.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
753
294k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
294k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
294k
              else {
759
294k
                  return obj(static_cast<decltype(args)>(args)...);
760
294k
              }
761
294k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
50.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
50.8k
              cvref<T> obj = *get<T>(fn);
755
50.8k
              if constexpr (std::is_void_v<R>) {
756
50.8k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
50.8k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
753
1.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.04k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.04k
              else {
759
1.04k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.04k
              }
761
1.04k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
890
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
890
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
890
              else {
759
890
                  return obj(static_cast<decltype(args)>(args)...);
760
890
              }
761
890
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
1.71k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.71k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.71k
              else {
759
1.71k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.71k
              }
761
1.71k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
360
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
360
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
360
              else {
759
360
                  return obj(static_cast<decltype(args)>(args)...);
760
360
              }
761
360
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
356
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
356
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
356
              else {
759
356
                  return obj(static_cast<decltype(args)>(args)...);
760
356
              }
761
356
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
290
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
290
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
290
              else {
759
290
                  return obj(static_cast<decltype(args)>(args)...);
760
290
              }
761
290
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
12.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12.4k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12.4k
              else {
759
12.4k
                  return obj(static_cast<decltype(args)>(args)...);
760
12.4k
              }
761
12.4k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
10.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.2k
              else {
759
10.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.2k
              }
761
10.2k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
7.21k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.21k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.21k
              else {
759
7.21k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.21k
              }
761
7.21k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
254k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
254k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
254k
              else {
759
254k
                  return obj(static_cast<decltype(args)>(args)...);
760
254k
              }
761
254k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
3.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.13k
              else {
759
3.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.13k
              }
761
3.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
753
6.68k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.68k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.68k
              else {
759
6.68k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.68k
              }
761
6.68k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
9.09k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
9.09k
              cvref<T> obj = *get<T>(fn);
755
9.09k
              if constexpr (std::is_void_v<R>) {
756
9.09k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
9.09k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
5.78k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
5.78k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
5.78k
              else {
759
5.78k
                  return obj(static_cast<decltype(args)>(args)...);
760
5.78k
              }
761
5.78k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
753
556
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
556
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
556
              else {
759
556
                  return obj(static_cast<decltype(args)>(args)...);
760
556
              }
761
556
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.23k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.23k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.23k
              else {
759
2.23k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.23k
              }
761
2.23k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
898
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
898
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
898
              else {
759
898
                  return obj(static_cast<decltype(args)>(args)...);
760
898
              }
761
898
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
17.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
17.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
17.2k
              else {
759
17.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
17.2k
              }
761
17.2k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
188
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
188
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
188
              else {
759
188
                  return obj(static_cast<decltype(args)>(args)...);
760
188
              }
761
188
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
428
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
428
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
428
              else {
759
428
                  return obj(static_cast<decltype(args)>(args)...);
760
428
              }
761
428
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
6.43k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.43k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.43k
              else {
759
6.43k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.43k
              }
761
6.43k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
4.29k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.29k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.29k
              else {
759
4.29k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.29k
              }
761
4.29k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
1.84k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.84k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.84k
              else {
759
1.84k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.84k
              }
761
1.84k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
19.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
19.9k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
19.9k
              else {
759
19.9k
                  return obj(static_cast<decltype(args)>(args)...);
760
19.9k
              }
761
19.9k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
4.98k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.98k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.98k
              else {
759
4.98k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.98k
              }
761
4.98k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.27k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.27k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.27k
              else {
759
2.27k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.27k
              }
761
2.27k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
1.86k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.86k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.86k
              else {
759
1.86k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.86k
              }
761
1.86k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
628
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
628
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
628
              else {
759
628
                  return obj(static_cast<decltype(args)>(args)...);
760
628
              }
761
628
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
716
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
716
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
716
              else {
759
716
                  return obj(static_cast<decltype(args)>(args)...);
760
716
              }
761
716
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
3.44k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.44k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.44k
              else {
759
3.44k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.44k
              }
761
3.44k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
486
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
486
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
486
              else {
759
486
                  return obj(static_cast<decltype(args)>(args)...);
760
486
              }
761
486
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
782
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
782
              else {
759
782
                  return obj(static_cast<decltype(args)>(args)...);
760
782
              }
761
782
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
1.68k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.68k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.68k
              else {
759
1.68k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.68k
              }
761
1.68k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
762
109k
          m_storage(std::addressof(f))
763
109k
    {
764
109k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.72k
        : m_fptr([](storage fn,
753
2.72k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.72k
              cvref<T> obj = *get<T>(fn);
755
2.72k
              if constexpr (std::is_void_v<R>) {
756
2.72k
                  obj(static_cast<decltype(args)>(args)...);
757
2.72k
              }
758
2.72k
              else {
759
2.72k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.72k
              }
761
2.72k
          }),
762
2.72k
          m_storage(std::addressof(f))
763
2.72k
    {
764
2.72k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
23.0k
        : m_fptr([](storage fn,
753
23.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
23.0k
              cvref<T> obj = *get<T>(fn);
755
23.0k
              if constexpr (std::is_void_v<R>) {
756
23.0k
                  obj(static_cast<decltype(args)>(args)...);
757
23.0k
              }
758
23.0k
              else {
759
23.0k
                  return obj(static_cast<decltype(args)>(args)...);
760
23.0k
              }
761
23.0k
          }),
762
23.0k
          m_storage(std::addressof(f))
763
23.0k
    {
764
23.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
40.8k
        : m_fptr([](storage fn,
753
40.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
40.8k
              cvref<T> obj = *get<T>(fn);
755
40.8k
              if constexpr (std::is_void_v<R>) {
756
40.8k
                  obj(static_cast<decltype(args)>(args)...);
757
40.8k
              }
758
40.8k
              else {
759
40.8k
                  return obj(static_cast<decltype(args)>(args)...);
760
40.8k
              }
761
40.8k
          }),
762
40.8k
          m_storage(std::addressof(f))
763
40.8k
    {
764
40.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
1.04k
        : m_fptr([](storage fn,
753
1.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.04k
              cvref<T> obj = *get<T>(fn);
755
1.04k
              if constexpr (std::is_void_v<R>) {
756
1.04k
                  obj(static_cast<decltype(args)>(args)...);
757
1.04k
              }
758
1.04k
              else {
759
1.04k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.04k
              }
761
1.04k
          }),
762
1.04k
          m_storage(std::addressof(f))
763
1.04k
    {
764
1.04k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
472
        : m_fptr([](storage fn,
753
472
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
472
              cvref<T> obj = *get<T>(fn);
755
472
              if constexpr (std::is_void_v<R>) {
756
472
                  obj(static_cast<decltype(args)>(args)...);
757
472
              }
758
472
              else {
759
472
                  return obj(static_cast<decltype(args)>(args)...);
760
472
              }
761
472
          }),
762
472
          m_storage(std::addressof(f))
763
472
    {
764
472
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
564
        : m_fptr([](storage fn,
753
564
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
564
              cvref<T> obj = *get<T>(fn);
755
564
              if constexpr (std::is_void_v<R>) {
756
564
                  obj(static_cast<decltype(args)>(args)...);
757
564
              }
758
564
              else {
759
564
                  return obj(static_cast<decltype(args)>(args)...);
760
564
              }
761
564
          }),
762
564
          m_storage(std::addressof(f))
763
564
    {
764
564
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
8
        : m_fptr([](storage fn,
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
8
              if constexpr (std::is_void_v<R>) {
756
8
                  obj(static_cast<decltype(args)>(args)...);
757
8
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
762
8
          m_storage(std::addressof(f))
763
8
    {
764
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
360
        : m_fptr([](storage fn,
753
360
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
360
              cvref<T> obj = *get<T>(fn);
755
360
              if constexpr (std::is_void_v<R>) {
756
360
                  obj(static_cast<decltype(args)>(args)...);
757
360
              }
758
360
              else {
759
360
                  return obj(static_cast<decltype(args)>(args)...);
760
360
              }
761
360
          }),
762
360
          m_storage(std::addressof(f))
763
360
    {
764
360
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
22
        : m_fptr([](storage fn,
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
22
              if constexpr (std::is_void_v<R>) {
756
22
                  obj(static_cast<decltype(args)>(args)...);
757
22
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
762
22
          m_storage(std::addressof(f))
763
22
    {
764
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
12
        : m_fptr([](storage fn,
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
12
              if constexpr (std::is_void_v<R>) {
756
12
                  obj(static_cast<decltype(args)>(args)...);
757
12
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
762
12
          m_storage(std::addressof(f))
763
12
    {
764
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
356
        : m_fptr([](storage fn,
753
356
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
356
              cvref<T> obj = *get<T>(fn);
755
356
              if constexpr (std::is_void_v<R>) {
756
356
                  obj(static_cast<decltype(args)>(args)...);
757
356
              }
758
356
              else {
759
356
                  return obj(static_cast<decltype(args)>(args)...);
760
356
              }
761
356
          }),
762
356
          m_storage(std::addressof(f))
763
356
    {
764
356
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6
        : m_fptr([](storage fn,
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
6
              if constexpr (std::is_void_v<R>) {
756
6
                  obj(static_cast<decltype(args)>(args)...);
757
6
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
762
6
          m_storage(std::addressof(f))
763
6
    {
764
6
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
290
        : m_fptr([](storage fn,
753
290
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
290
              cvref<T> obj = *get<T>(fn);
755
290
              if constexpr (std::is_void_v<R>) {
756
290
                  obj(static_cast<decltype(args)>(args)...);
757
290
              }
758
290
              else {
759
290
                  return obj(static_cast<decltype(args)>(args)...);
760
290
              }
761
290
          }),
762
290
          m_storage(std::addressof(f))
763
290
    {
764
290
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
972
        : m_fptr([](storage fn,
753
972
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
972
              cvref<T> obj = *get<T>(fn);
755
972
              if constexpr (std::is_void_v<R>) {
756
972
                  obj(static_cast<decltype(args)>(args)...);
757
972
              }
758
972
              else {
759
972
                  return obj(static_cast<decltype(args)>(args)...);
760
972
              }
761
972
          }),
762
972
          m_storage(std::addressof(f))
763
972
    {
764
972
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
450
        : m_fptr([](storage fn,
753
450
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
450
              cvref<T> obj = *get<T>(fn);
755
450
              if constexpr (std::is_void_v<R>) {
756
450
                  obj(static_cast<decltype(args)>(args)...);
757
450
              }
758
450
              else {
759
450
                  return obj(static_cast<decltype(args)>(args)...);
760
450
              }
761
450
          }),
762
450
          m_storage(std::addressof(f))
763
450
    {
764
450
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
378
        : m_fptr([](storage fn,
753
378
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
378
              cvref<T> obj = *get<T>(fn);
755
378
              if constexpr (std::is_void_v<R>) {
756
378
                  obj(static_cast<decltype(args)>(args)...);
757
378
              }
758
378
              else {
759
378
                  return obj(static_cast<decltype(args)>(args)...);
760
378
              }
761
378
          }),
762
378
          m_storage(std::addressof(f))
763
378
    {
764
378
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.31k
        : m_fptr([](storage fn,
753
2.31k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.31k
              cvref<T> obj = *get<T>(fn);
755
2.31k
              if constexpr (std::is_void_v<R>) {
756
2.31k
                  obj(static_cast<decltype(args)>(args)...);
757
2.31k
              }
758
2.31k
              else {
759
2.31k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.31k
              }
761
2.31k
          }),
762
2.31k
          m_storage(std::addressof(f))
763
2.31k
    {
764
2.31k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
210
        : m_fptr([](storage fn,
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
210
              if constexpr (std::is_void_v<R>) {
756
210
                  obj(static_cast<decltype(args)>(args)...);
757
210
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
762
210
          m_storage(std::addressof(f))
763
210
    {
764
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.85k
        : m_fptr([](storage fn,
753
2.85k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.85k
              cvref<T> obj = *get<T>(fn);
755
2.85k
              if constexpr (std::is_void_v<R>) {
756
2.85k
                  obj(static_cast<decltype(args)>(args)...);
757
2.85k
              }
758
2.85k
              else {
759
2.85k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.85k
              }
761
2.85k
          }),
762
2.85k
          m_storage(std::addressof(f))
763
2.85k
    {
764
2.85k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
3.45k
        : m_fptr([](storage fn,
753
3.45k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.45k
              cvref<T> obj = *get<T>(fn);
755
3.45k
              if constexpr (std::is_void_v<R>) {
756
3.45k
                  obj(static_cast<decltype(args)>(args)...);
757
3.45k
              }
758
3.45k
              else {
759
3.45k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.45k
              }
761
3.45k
          }),
762
3.45k
          m_storage(std::addressof(f))
763
3.45k
    {
764
3.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
4.55k
        : m_fptr([](storage fn,
753
4.55k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.55k
              cvref<T> obj = *get<T>(fn);
755
4.55k
              if constexpr (std::is_void_v<R>) {
756
4.55k
                  obj(static_cast<decltype(args)>(args)...);
757
4.55k
              }
758
4.55k
              else {
759
4.55k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.55k
              }
761
4.55k
          }),
762
4.55k
          m_storage(std::addressof(f))
763
4.55k
    {
764
4.55k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
526
        : m_fptr([](storage fn,
753
526
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
526
              cvref<T> obj = *get<T>(fn);
755
526
              if constexpr (std::is_void_v<R>) {
756
526
                  obj(static_cast<decltype(args)>(args)...);
757
526
              }
758
526
              else {
759
526
                  return obj(static_cast<decltype(args)>(args)...);
760
526
              }
761
526
          }),
762
526
          m_storage(std::addressof(f))
763
526
    {
764
526
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
1.38k
        : m_fptr([](storage fn,
753
1.38k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.38k
              cvref<T> obj = *get<T>(fn);
755
1.38k
              if constexpr (std::is_void_v<R>) {
756
1.38k
                  obj(static_cast<decltype(args)>(args)...);
757
1.38k
              }
758
1.38k
              else {
759
1.38k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.38k
              }
761
1.38k
          }),
762
1.38k
          m_storage(std::addressof(f))
763
1.38k
    {
764
1.38k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
444
        : m_fptr([](storage fn,
753
444
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
444
              cvref<T> obj = *get<T>(fn);
755
444
              if constexpr (std::is_void_v<R>) {
756
444
                  obj(static_cast<decltype(args)>(args)...);
757
444
              }
758
444
              else {
759
444
                  return obj(static_cast<decltype(args)>(args)...);
760
444
              }
761
444
          }),
762
444
          m_storage(std::addressof(f))
763
444
    {
764
444
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
11.4k
        : m_fptr([](storage fn,
753
11.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
11.4k
              cvref<T> obj = *get<T>(fn);
755
11.4k
              if constexpr (std::is_void_v<R>) {
756
11.4k
                  obj(static_cast<decltype(args)>(args)...);
757
11.4k
              }
758
11.4k
              else {
759
11.4k
                  return obj(static_cast<decltype(args)>(args)...);
760
11.4k
              }
761
11.4k
          }),
762
11.4k
          m_storage(std::addressof(f))
763
11.4k
    {
764
11.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
26
        : m_fptr([](storage fn,
753
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
26
              cvref<T> obj = *get<T>(fn);
755
26
              if constexpr (std::is_void_v<R>) {
756
26
                  obj(static_cast<decltype(args)>(args)...);
757
26
              }
758
26
              else {
759
26
                  return obj(static_cast<decltype(args)>(args)...);
760
26
              }
761
26
          }),
762
26
          m_storage(std::addressof(f))
763
26
    {
764
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
184
        : m_fptr([](storage fn,
753
184
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
184
              cvref<T> obj = *get<T>(fn);
755
184
              if constexpr (std::is_void_v<R>) {
756
184
                  obj(static_cast<decltype(args)>(args)...);
757
184
              }
758
184
              else {
759
184
                  return obj(static_cast<decltype(args)>(args)...);
760
184
              }
761
184
          }),
762
184
          m_storage(std::addressof(f))
763
184
    {
764
184
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
24
        : m_fptr([](storage fn,
753
24
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
24
              cvref<T> obj = *get<T>(fn);
755
24
              if constexpr (std::is_void_v<R>) {
756
24
                  obj(static_cast<decltype(args)>(args)...);
757
24
              }
758
24
              else {
759
24
                  return obj(static_cast<decltype(args)>(args)...);
760
24
              }
761
24
          }),
762
24
          m_storage(std::addressof(f))
763
24
    {
764
24
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
172
        : m_fptr([](storage fn,
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
172
              if constexpr (std::is_void_v<R>) {
756
172
                  obj(static_cast<decltype(args)>(args)...);
757
172
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
762
172
          m_storage(std::addressof(f))
763
172
    {
764
172
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
428
        : m_fptr([](storage fn,
753
428
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
428
              cvref<T> obj = *get<T>(fn);
755
428
              if constexpr (std::is_void_v<R>) {
756
428
                  obj(static_cast<decltype(args)>(args)...);
757
428
              }
758
428
              else {
759
428
                  return obj(static_cast<decltype(args)>(args)...);
760
428
              }
761
428
          }),
762
428
          m_storage(std::addressof(f))
763
428
    {
764
428
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
450
        : m_fptr([](storage fn,
753
450
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
450
              cvref<T> obj = *get<T>(fn);
755
450
              if constexpr (std::is_void_v<R>) {
756
450
                  obj(static_cast<decltype(args)>(args)...);
757
450
              }
758
450
              else {
759
450
                  return obj(static_cast<decltype(args)>(args)...);
760
450
              }
761
450
          }),
762
450
          m_storage(std::addressof(f))
763
450
    {
764
450
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
342
        : m_fptr([](storage fn,
753
342
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
342
              cvref<T> obj = *get<T>(fn);
755
342
              if constexpr (std::is_void_v<R>) {
756
342
                  obj(static_cast<decltype(args)>(args)...);
757
342
              }
758
342
              else {
759
342
                  return obj(static_cast<decltype(args)>(args)...);
760
342
              }
761
342
          }),
762
342
          m_storage(std::addressof(f))
763
342
    {
764
342
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
204
        : m_fptr([](storage fn,
753
204
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
204
              cvref<T> obj = *get<T>(fn);
755
204
              if constexpr (std::is_void_v<R>) {
756
204
                  obj(static_cast<decltype(args)>(args)...);
757
204
              }
758
204
              else {
759
204
                  return obj(static_cast<decltype(args)>(args)...);
760
204
              }
761
204
          }),
762
204
          m_storage(std::addressof(f))
763
204
    {
764
204
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
2.59k
        : m_fptr([](storage fn,
753
2.59k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.59k
              cvref<T> obj = *get<T>(fn);
755
2.59k
              if constexpr (std::is_void_v<R>) {
756
2.59k
                  obj(static_cast<decltype(args)>(args)...);
757
2.59k
              }
758
2.59k
              else {
759
2.59k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.59k
              }
761
2.59k
          }),
762
2.59k
          m_storage(std::addressof(f))
763
2.59k
    {
764
2.59k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
402
        : m_fptr([](storage fn,
753
402
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
402
              cvref<T> obj = *get<T>(fn);
755
402
              if constexpr (std::is_void_v<R>) {
756
402
                  obj(static_cast<decltype(args)>(args)...);
757
402
              }
758
402
              else {
759
402
                  return obj(static_cast<decltype(args)>(args)...);
760
402
              }
761
402
          }),
762
402
          m_storage(std::addressof(f))
763
402
    {
764
402
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
204
        : m_fptr([](storage fn,
753
204
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
204
              cvref<T> obj = *get<T>(fn);
755
204
              if constexpr (std::is_void_v<R>) {
756
204
                  obj(static_cast<decltype(args)>(args)...);
757
204
              }
758
204
              else {
759
204
                  return obj(static_cast<decltype(args)>(args)...);
760
204
              }
761
204
          }),
762
204
          m_storage(std::addressof(f))
763
204
    {
764
204
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
74
        : m_fptr([](storage fn,
753
74
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
74
              cvref<T> obj = *get<T>(fn);
755
74
              if constexpr (std::is_void_v<R>) {
756
74
                  obj(static_cast<decltype(args)>(args)...);
757
74
              }
758
74
              else {
759
74
                  return obj(static_cast<decltype(args)>(args)...);
760
74
              }
761
74
          }),
762
74
          m_storage(std::addressof(f))
763
74
    {
764
74
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
628
        : m_fptr([](storage fn,
753
628
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
628
              cvref<T> obj = *get<T>(fn);
755
628
              if constexpr (std::is_void_v<R>) {
756
628
                  obj(static_cast<decltype(args)>(args)...);
757
628
              }
758
628
              else {
759
628
                  return obj(static_cast<decltype(args)>(args)...);
760
628
              }
761
628
          }),
762
628
          m_storage(std::addressof(f))
763
628
    {
764
628
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
500
        : m_fptr([](storage fn,
753
500
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
500
              cvref<T> obj = *get<T>(fn);
755
500
              if constexpr (std::is_void_v<R>) {
756
500
                  obj(static_cast<decltype(args)>(args)...);
757
500
              }
758
500
              else {
759
500
                  return obj(static_cast<decltype(args)>(args)...);
760
500
              }
761
500
          }),
762
500
          m_storage(std::addressof(f))
763
500
    {
764
500
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.23k
        : m_fptr([](storage fn,
753
2.23k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.23k
              cvref<T> obj = *get<T>(fn);
755
2.23k
              if constexpr (std::is_void_v<R>) {
756
2.23k
                  obj(static_cast<decltype(args)>(args)...);
757
2.23k
              }
758
2.23k
              else {
759
2.23k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.23k
              }
761
2.23k
          }),
762
2.23k
          m_storage(std::addressof(f))
763
2.23k
    {
764
2.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
486
        : m_fptr([](storage fn,
753
486
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
486
              cvref<T> obj = *get<T>(fn);
755
486
              if constexpr (std::is_void_v<R>) {
756
486
                  obj(static_cast<decltype(args)>(args)...);
757
486
              }
758
486
              else {
759
486
                  return obj(static_cast<decltype(args)>(args)...);
760
486
              }
761
486
          }),
762
486
          m_storage(std::addressof(f))
763
486
    {
764
486
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
510
        : m_fptr([](storage fn,
753
510
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
510
              cvref<T> obj = *get<T>(fn);
755
510
              if constexpr (std::is_void_v<R>) {
756
510
                  obj(static_cast<decltype(args)>(args)...);
757
510
              }
758
510
              else {
759
510
                  return obj(static_cast<decltype(args)>(args)...);
760
510
              }
761
510
          }),
762
510
          m_storage(std::addressof(f))
763
510
    {
764
510
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
1.20k
        : m_fptr([](storage fn,
753
1.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.20k
              cvref<T> obj = *get<T>(fn);
755
1.20k
              if constexpr (std::is_void_v<R>) {
756
1.20k
                  obj(static_cast<decltype(args)>(args)...);
757
1.20k
              }
758
1.20k
              else {
759
1.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.20k
              }
761
1.20k
          }),
762
1.20k
          m_storage(std::addressof(f))
763
1.20k
    {
764
1.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
765
766
    template <typename T,
767
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
768
                               !std::is_pointer_v<T>>* = nullptr>
769
    function_ref& operator=(T) = delete;
770
771
    constexpr R operator()(Args... args) const noexcept(noex)
772
737k
    {
773
737k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
737k
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
772
20.5k
    {
773
20.5k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
20.5k
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
639k
    {
773
639k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
639k
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
59.9k
    {
773
59.9k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
59.9k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
368
    {
773
368
        return m_fptr(m_storage, SCN_FWD(args)...);
774
368
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
924
    {
773
924
        return m_fptr(m_storage, SCN_FWD(args)...);
774
924
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
772
14.6k
    {
773
14.6k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
14.6k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
188
    {
773
188
        return m_fptr(m_storage, SCN_FWD(args)...);
774
188
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
930
    {
773
930
        return m_fptr(m_storage, SCN_FWD(args)...);
774
930
    }
775
776
private:
777
    fwd_t* m_fptr{nullptr};
778
    storage m_storage;
779
};
780
781
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
782
function_ref(F*) -> function_ref<F>;
783
}  // namespace impl
784
785
/////////////////////////////////////////////////////////////////
786
// Internal error types
787
/////////////////////////////////////////////////////////////////
788
789
namespace impl {
790
enum class eof_error { good, eof };
791
792
inline constexpr bool operator!(eof_error e)
793
48.8k
{
794
48.8k
    return e != eof_error::good;
795
48.8k
}
796
797
template <typename T>
798
struct eof_expected : public expected<T, eof_error> {
799
    using base = expected<T, eof_error>;
800
    using base::base;
801
802
    constexpr eof_expected(const base& other) : base(other) {}
803
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
804
};
805
806
inline constexpr auto make_eof_scan_error(eof_error err)
807
354
{
808
354
    SCN_EXPECT(err == eof_error::eof);
809
354
    return scan_error{scan_error::end_of_input, "EOF"};
810
354
}
811
812
struct SCN_TRIVIAL_ABI parse_error {
813
    enum code { good, eof, error };
814
    using code_t = code;
815
816
    constexpr parse_error() = default;
817
54.8k
    constexpr parse_error(code c) : m_code(c)
818
54.8k
    {
819
54.8k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
820
54.8k
    }
821
822
    constexpr explicit operator bool() const
823
0
    {
824
0
        return m_code == good;
825
0
    }
826
    constexpr explicit operator code_t() const
827
0
    {
828
0
        return m_code;
829
0
    }
830
831
    friend constexpr bool operator==(parse_error a, parse_error b)
832
23.0k
    {
833
23.0k
        return a.m_code == b.m_code;
834
23.0k
    }
835
    friend constexpr bool operator!=(parse_error a, parse_error b)
836
4.50k
    {
837
4.50k
        return !(a == b);
838
4.50k
    }
839
840
private:
841
    code m_code{good};
842
};
843
844
template <typename T>
845
struct parse_expected : public expected<T, parse_error> {
846
    using base = expected<T, parse_error>;
847
    using base::base;
848
849
    constexpr parse_expected(const base& other) : base(other) {}
850
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
851
};
852
853
inline constexpr parse_error make_eof_parse_error(eof_error err)
854
1.11k
{
855
1.11k
    SCN_EXPECT(err == eof_error::eof);
856
1.11k
    return parse_error::eof;
857
1.11k
}
858
859
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
860
    parse_error err,
861
    enum scan_error::code code,
862
    const char* msg)
863
4.50k
{
864
4.50k
    if (err == parse_error::good) {
865
0
        return {};
866
0
    }
867
868
4.50k
    if (err == parse_error::eof) {
869
146
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
870
146
    }
871
872
4.36k
    return detail::unexpected_scan_error(code, msg);
873
4.50k
}
874
875
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
876
                                                    const char* msg)
877
4.55k
{
878
4.55k
    return [code, msg](parse_error err) {
879
4.50k
        assert(err != parse_error::good);
880
4.50k
        return make_scan_error_from_parse_error(err, code, msg).error();
881
4.50k
    };
882
4.55k
}
883
}  // namespace impl
884
885
namespace detail {
886
template <typename T>
887
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
888
}  // namespace detail
889
890
/////////////////////////////////////////////////////////////////
891
// Range reading support
892
/////////////////////////////////////////////////////////////////
893
894
namespace impl {
895
#if SCN_MSVC_DEBUG_ITERATORS
896
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
897
#else
898
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
899
#endif
900
901
template <typename T>
902
constexpr bool range_supports_nocopy() noexcept
903
{
904
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
905
    return ranges::contiguous_range<T> ||
906
           (ranges::random_access_range<T> &&
907
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
908
#else
909
    return ranges::contiguous_range<T>;
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_data(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return detail::to_address(ranges::begin(r));
919
#else
920
    return ranges::data(r);
921
#endif
922
}
923
924
template <typename R>
925
constexpr auto range_nocopy_size(const R& r) noexcept
926
{
927
    static_assert(range_supports_nocopy<R>());
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
930
                                                detail::to_address(r.end())));
931
#else
932
    return r.size();
933
#endif
934
}
935
936
template <typename I, typename S>
937
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
938
552k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
552k
    {
948
552k
        return begin == end;
949
552k
    }
950
552k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
938
29.6k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
29.6k
    {
948
29.6k
        return begin == end;
949
29.6k
    }
950
29.6k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
938
309k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
309k
    {
948
309k
        return begin == end;
949
309k
    }
950
309k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
938
191k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
191k
    {
948
191k
        return begin == end;
949
191k
    }
950
191k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
938
13.0k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
13.0k
    {
948
13.0k
        return begin == end;
949
13.0k
    }
950
13.0k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
938
5.67k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
5.67k
    {
948
5.67k
        return begin == end;
949
5.67k
    }
950
5.67k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
938
2.88k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
2.88k
    {
948
2.88k
        return begin == end;
949
2.88k
    }
950
2.88k
}
951
952
template <typename Range>
953
SCN_NODISCARD constexpr bool is_range_eof(Range r)
954
398k
{
955
398k
    return is_range_eof(r.begin(), r.end());
956
398k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
954
2.49k
{
955
2.49k
    return is_range_eof(r.begin(), r.end());
956
2.49k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
954
27.1k
{
955
27.1k
    return is_range_eof(r.begin(), r.end());
956
27.1k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
954
277k
{
955
277k
    return is_range_eof(r.begin(), r.end());
956
277k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
954
69.6k
{
955
69.6k
    return is_range_eof(r.begin(), r.end());
956
69.6k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
954
1.31k
{
955
1.31k
    return is_range_eof(r.begin(), r.end());
956
1.31k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
954
11.7k
{
955
11.7k
    return is_range_eof(r.begin(), r.end());
956
11.7k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
954
5.67k
{
955
5.67k
    return is_range_eof(r.begin(), r.end());
956
5.67k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
954
2.88k
{
955
2.88k
    return is_range_eof(r.begin(), r.end());
956
2.88k
}
957
958
template <typename Range>
959
SCN_NODISCARD constexpr eof_error eof_check(Range range)
960
48.8k
{
961
48.8k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
368
        return eof_error::eof;
963
368
    }
964
48.4k
    return eof_error::good;
965
48.8k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
960
2.49k
{
961
2.49k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
2.49k
    return eof_error::good;
965
2.49k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
960
40
{
961
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
40
    return eof_error::good;
965
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
960
21.5k
{
961
21.5k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
21.5k
    return eof_error::good;
965
21.5k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
960
19.8k
{
961
19.8k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
19.8k
    return eof_error::good;
965
19.8k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
960
1.31k
{
961
1.31k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
1.31k
    return eof_error::good;
965
1.31k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
960
110
{
961
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
14
        return eof_error::eof;
963
14
    }
964
96
    return eof_error::good;
965
110
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
960
2.23k
{
961
2.23k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
238
        return eof_error::eof;
963
238
    }
964
1.99k
    return eof_error::good;
965
2.23k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
960
1.20k
{
961
1.20k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
116
        return eof_error::eof;
963
116
    }
964
1.08k
    return eof_error::good;
965
1.20k
}
966
967
template <typename Range>
968
bool is_entire_source_contiguous(Range r)
969
492
{
970
492
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
318
                  ranges::sized_range<Range>) {
973
318
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
0
                               detail::char_t<Range>>::forward_iterator>) {
979
0
        auto beg = r.begin();
980
0
        if (!beg.stores_parent()) {
981
0
            return true;
982
0
        }
983
0
        return beg.parent()->is_contiguous();
984
    }
985
174
    else {
986
174
        return false;
987
174
    }
988
492
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
969
174
{
970
174
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
                  ranges::sized_range<Range>) {
973
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
174
    else {
986
174
        return false;
987
174
    }
988
174
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
969
318
{
970
318
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
318
                  ranges::sized_range<Range>) {
973
318
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
    else {
986
        return false;
987
    }
988
318
}
989
990
template <typename Range>
991
bool is_segment_contiguous(Range r)
992
318
{
993
318
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
318
                  ranges::sized_range<Range>) {
997
318
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
0
                               detail::char_t<Range>>::forward_iterator>) {
1003
0
        auto beg = r.begin();
1004
0
        if (beg.contiguous_segment().empty()) {
1005
0
            return false;
1006
0
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
0
        else {
1012
0
            if (beg.stores_parent()) {
1013
0
                return beg.contiguous_segment().end() ==
1014
0
                       beg.parent()->current_view().end();
1015
0
            }
1016
0
            return true;
1017
0
        }
1018
    }
1019
0
    else {
1020
0
        return false;
1021
0
    }
1022
318
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
992
318
{
993
318
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
318
                  ranges::sized_range<Range>) {
997
318
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
                               detail::char_t<Range>>::forward_iterator>) {
1003
        auto beg = r.begin();
1004
        if (beg.contiguous_segment().empty()) {
1005
            return false;
1006
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
        else {
1012
            if (beg.stores_parent()) {
1013
                return beg.contiguous_segment().end() ==
1014
                       beg.parent()->current_view().end();
1015
            }
1016
            return true;
1017
        }
1018
    }
1019
    else {
1020
        return false;
1021
    }
1022
318
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1023
1024
template <typename Range>
1025
std::size_t contiguous_beginning_size(Range r)
1026
{
1027
    SCN_UNUSED(r);
1028
1029
    if constexpr (ranges::contiguous_range<Range> &&
1030
                  ranges::sized_range<Range>) {
1031
        return r.size();
1032
    }
1033
    else if constexpr (std::is_same_v<
1034
                           ranges::const_iterator_t<Range>,
1035
                           typename detail::basic_scan_buffer<
1036
                               detail::char_t<Range>>::forward_iterator>) {
1037
        if constexpr (ranges::common_range<Range>) {
1038
            auto seg = r.begin().contiguous_segment();
1039
            auto dist =
1040
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1041
            return std::min(seg.size(), dist);
1042
        }
1043
        else {
1044
            return r.begin().contiguous_segment().size();
1045
        }
1046
    }
1047
    else {
1048
        return false;
1049
    }
1050
}
1051
1052
template <typename Range>
1053
auto get_contiguous_beginning(Range r)
1054
3.77k
{
1055
3.77k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
0
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
0
        else {
1072
0
            return r.begin().contiguous_segment();
1073
0
        }
1074
    }
1075
3.77k
    else {
1076
3.77k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
3.77k
    }
1078
3.77k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1054
1.53k
{
1055
1.53k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
1.53k
    else {
1076
1.53k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
1.53k
    }
1078
1.53k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1054
2.23k
{
1055
2.23k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
2.23k
    else {
1076
2.23k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
2.23k
    }
1078
2.23k
}
1079
1080
template <typename Range>
1081
auto get_as_contiguous(Range r)
1082
318
{
1083
318
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
318
                  ranges::sized_range<Range>) {
1087
318
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
0
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
0
        else {
1099
0
            return r.begin().contiguous_segment();
1100
0
        }
1101
    }
1102
0
    else {
1103
0
        SCN_EXPECT(false);
1104
0
        SCN_UNREACHABLE;
1105
0
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
0
        return std::basic_string_view<detail::char_t<Range>>{};
1108
0
    }
1109
318
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1082
318
{
1083
318
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
318
                  ranges::sized_range<Range>) {
1087
318
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
        else {
1099
            return r.begin().contiguous_segment();
1100
        }
1101
    }
1102
    else {
1103
        SCN_EXPECT(false);
1104
        SCN_UNREACHABLE;
1105
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
        return std::basic_string_view<detail::char_t<Range>>{};
1108
    }
1109
318
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1110
1111
template <typename Range>
1112
std::size_t guaranteed_minimum_size(Range r)
1113
10.5k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
0
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
0
        else {
1125
0
            if (r.begin().stores_parent()) {
1126
0
                return static_cast<size_t>(
1127
0
                    r.begin().parent()->chars_available() -
1128
0
                    r.begin().position());
1129
0
            }
1130
0
            return r.begin().contiguous_segment().size();
1131
0
        }
1132
    }
1133
10.5k
    else {
1134
10.5k
        SCN_UNUSED(r);
1135
10.5k
        return 0;
1136
10.5k
    }
1137
10.5k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1113
7.11k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
7.11k
    else {
1134
7.11k
        SCN_UNUSED(r);
1135
7.11k
        return 0;
1136
7.11k
    }
1137
7.11k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1113
890
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
890
    else {
1134
890
        SCN_UNUSED(r);
1135
890
        return 0;
1136
890
    }
1137
890
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1113
1.30k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
1.30k
    else {
1134
1.30k
        SCN_UNUSED(r);
1135
1.30k
        return 0;
1136
1.30k
    }
1137
1.30k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1113
880
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
880
    else {
1134
880
        SCN_UNUSED(r);
1135
880
        return 0;
1136
880
    }
1137
880
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1113
368
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
368
    else {
1134
368
        SCN_UNUSED(r);
1135
368
        return 0;
1136
368
    }
1137
368
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1138
1139
template <typename I, typename T>
1140
struct iterator_value_result {
1141
    SCN_NO_UNIQUE_ADDRESS I iterator;
1142
    SCN_NO_UNIQUE_ADDRESS T value;
1143
};
1144
1145
}  // namespace impl
1146
1147
/////////////////////////////////////////////////////////////////
1148
// File support
1149
/////////////////////////////////////////////////////////////////
1150
1151
namespace detail {
1152
1153
template <typename FileInterface>
1154
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1155
    FileInterface file)
1156
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1157
0
{
1158
0
    m_file.lock();
1159
0
}
1160
1161
template <typename FileInterface>
1162
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1163
0
{
1164
0
    m_file.unlock();
1165
0
}
1166
1167
template <typename FileInterface>
1168
bool basic_scan_file_buffer<FileInterface>::fill()
1169
0
{
1170
0
    if (!this->m_current_view.empty()) {
1171
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1172
0
                                      this->m_current_view.begin(),
1173
0
                                      this->m_current_view.end());
1174
0
    }
1175
1176
0
    if (m_file.has_buffering()) {
1177
0
        if (!this->m_current_view.empty()) {
1178
0
            m_file.unsafe_advance_n(
1179
0
                static_cast<std::ptrdiff_t>(this->m_current_view.size()));
1180
0
        }
1181
1182
0
        if (m_file.buffer().empty()) {
1183
0
            m_file.fill_buffer();
1184
0
        }
1185
0
        m_current_view = m_file.buffer();
1186
0
        return !this->m_current_view.empty();
1187
0
    }
1188
1189
0
    this->m_latest = m_file.read_one();
1190
0
    if (!this->m_latest) {
1191
0
        this->m_current_view = {};
1192
0
        return false;
1193
0
    }
1194
1195
0
    this->m_current_view = {&*this->m_latest, 1};
1196
0
    return true;
1197
0
}
1198
1199
template <typename FileInterface>
1200
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1201
0
{
1202
0
    struct putback_wrapper {
1203
0
        putback_wrapper(FileInterface& interface) : i(interface)
1204
0
        {
1205
0
            i.prepare_putback();
1206
0
        }
1207
0
        ~putback_wrapper()
1208
0
        {
1209
0
            i.finalize_putback();
1210
0
        }
1211
1212
0
        FileInterface& i;
1213
0
    };
1214
1215
0
    if (m_file.has_buffering()) {
1216
0
        if (position <
1217
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1218
0
            putback_wrapper wrapper{m_file};
1219
0
            auto segment = this->get_segment_starting_at(position);
1220
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1221
0
                if (!m_file.putback(*it)) {
1222
0
                    return false;
1223
0
                }
1224
0
            }
1225
0
            return true;
1226
0
        }
1227
1228
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1229
0
                                               this->putback_buffer().size()));
1230
0
        return true;
1231
0
    }
1232
1233
0
    const auto chars_avail = this->chars_available();
1234
0
    if (position == chars_avail) {
1235
0
        return true;
1236
0
    }
1237
1238
0
    putback_wrapper wrapper{m_file};
1239
0
    SCN_EXPECT(m_current_view.size() == 1);
1240
0
    (void)m_file.putback(m_current_view.front());
1241
1242
0
    auto segment = std::string_view{this->putback_buffer().data(),
1243
0
                                    this->putback_buffer().size()}
1244
0
                       .substr(static_cast<std::size_t>(position));
1245
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1246
0
        if (!m_file.putback(*it)) {
1247
0
            return false;
1248
0
        }
1249
0
    }
1250
0
    return true;
1251
0
}
1252
1253
}  // namespace detail
1254
1255
/////////////////////////////////////////////////////////////////
1256
// Unicode
1257
/////////////////////////////////////////////////////////////////
1258
1259
namespace impl {
1260
1261
template <typename CharT>
1262
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1263
13.9k
{
1264
13.9k
    auto it = src.begin();
1265
458k
    while (it != src.end()) {
1266
447k
        const auto len = static_cast<std::ptrdiff_t>(
1267
447k
            detail::code_point_length_by_starting_code_unit(*it));
1268
447k
        SCN_EXPECT(len >= 0);
1269
447k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
446k
        if (std::distance(it, src.end()) < len) {
1273
240
            return false;
1274
240
        }
1275
446k
        const auto cp = detail::decode_code_point_exhaustive(
1276
446k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
446k
        if (cp >= detail::invalid_code_point) {
1278
1.36k
            return false;
1279
1.36k
        }
1280
444k
        it += len;
1281
444k
    }
1282
11.0k
    return true;
1283
13.9k
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1263
8.39k
{
1264
8.39k
    auto it = src.begin();
1265
408k
    while (it != src.end()) {
1266
401k
        const auto len = static_cast<std::ptrdiff_t>(
1267
401k
            detail::code_point_length_by_starting_code_unit(*it));
1268
401k
        SCN_EXPECT(len >= 0);
1269
401k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
400k
        if (std::distance(it, src.end()) < len) {
1273
240
            return false;
1274
240
        }
1275
400k
        const auto cp = detail::decode_code_point_exhaustive(
1276
400k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
400k
        if (cp >= detail::invalid_code_point) {
1278
426
            return false;
1279
426
        }
1280
399k
        it += len;
1281
399k
    }
1282
6.44k
    return true;
1283
8.39k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1263
5.52k
{
1264
5.52k
    auto it = src.begin();
1265
50.6k
    while (it != src.end()) {
1266
46.0k
        const auto len = static_cast<std::ptrdiff_t>(
1267
46.0k
            detail::code_point_length_by_starting_code_unit(*it));
1268
46.0k
        SCN_EXPECT(len >= 0);
1269
46.0k
        if (len == 0) {
1270
0
            return false;
1271
0
        }
1272
46.0k
        if (std::distance(it, src.end()) < len) {
1273
0
            return false;
1274
0
        }
1275
46.0k
        const auto cp = detail::decode_code_point_exhaustive(
1276
46.0k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
46.0k
        if (cp >= detail::invalid_code_point) {
1278
942
            return false;
1279
942
        }
1280
45.0k
        it += len;
1281
45.0k
    }
1282
4.58k
    return true;
1283
5.52k
}
1284
1285
template <typename Range>
1286
constexpr auto get_start_for_next_code_point(Range input)
1287
    -> ranges::const_iterator_t<Range>
1288
9.17k
{
1289
9.17k
    auto it = input.begin();
1290
19.8k
    for (; it != input.end(); ++it) {
1291
18.2k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
7.55k
            break;
1293
7.55k
        }
1294
18.2k
    }
1295
9.17k
    return it;
1296
9.17k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1288
5.53k
{
1289
5.53k
    auto it = input.begin();
1290
15.2k
    for (; it != input.end(); ++it) {
1291
13.9k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
4.16k
            break;
1293
4.16k
        }
1294
13.9k
    }
1295
5.53k
    return it;
1296
5.53k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1288
2.68k
{
1289
2.68k
    auto it = input.begin();
1290
3.15k
    for (; it != input.end(); ++it) {
1291
2.95k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
2.49k
            break;
1293
2.49k
        }
1294
2.95k
    }
1295
2.68k
    return it;
1296
2.68k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1288
954
{
1289
954
    auto it = input.begin();
1290
1.43k
    for (; it != input.end(); ++it) {
1291
1.38k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
900
            break;
1293
900
        }
1294
1.38k
    }
1295
954
    return it;
1296
954
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1297
1298
template <typename CharT>
1299
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1300
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1301
                             char32_t>
1302
374k
{
1303
374k
    SCN_EXPECT(!input.empty());
1304
1305
374k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
374k
    if (SCN_UNLIKELY(len == 0)) {
1307
5.53k
        return {get_start_for_next_code_point(input),
1308
5.53k
                detail::invalid_code_point};
1309
5.53k
    }
1310
368k
    if (SCN_UNLIKELY(len > input.size())) {
1311
988
        return {input.end(), detail::invalid_code_point};
1312
988
    }
1313
1314
367k
    return {input.begin() + len,
1315
367k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
368k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1302
243k
{
1303
243k
    SCN_EXPECT(!input.empty());
1304
1305
243k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
243k
    if (SCN_UNLIKELY(len == 0)) {
1307
5.53k
        return {get_start_for_next_code_point(input),
1308
5.53k
                detail::invalid_code_point};
1309
5.53k
    }
1310
237k
    if (SCN_UNLIKELY(len > input.size())) {
1311
988
        return {input.end(), detail::invalid_code_point};
1312
988
    }
1313
1314
236k
    return {input.begin() + len,
1315
236k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
237k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1302
130k
{
1303
130k
    SCN_EXPECT(!input.empty());
1304
1305
130k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
130k
    if (SCN_UNLIKELY(len == 0)) {
1307
0
        return {get_start_for_next_code_point(input),
1308
0
                detail::invalid_code_point};
1309
0
    }
1310
130k
    if (SCN_UNLIKELY(len > input.size())) {
1311
0
        return {input.end(), detail::invalid_code_point};
1312
0
    }
1313
1314
130k
    return {input.begin() + len,
1315
130k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
130k
}
1317
1318
template <typename CharT>
1319
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1320
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1321
                             char32_t>
1322
96.4k
{
1323
96.4k
    SCN_EXPECT(!input.empty());
1324
1325
96.4k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1326
96.4k
    SCN_EXPECT(len <= input.size());
1327
1328
96.4k
    return {input.begin() + static_cast<std::ptrdiff_t>(len),
1329
96.4k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1330
96.4k
}
1331
1332
template <typename CharT>
1333
struct is_first_char_space_result {
1334
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1335
    char32_t cp;
1336
    bool is_space;
1337
};
1338
1339
template <typename CharT>
1340
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1341
    -> is_first_char_space_result<CharT>
1342
153k
{
1343
    // TODO: optimize
1344
153k
    SCN_EXPECT(!str.empty());
1345
153k
    auto res = get_next_code_point(str);
1346
153k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
153k
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1342
31.3k
{
1343
    // TODO: optimize
1344
31.3k
    SCN_EXPECT(!str.empty());
1345
31.3k
    auto res = get_next_code_point(str);
1346
31.3k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
31.3k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1342
121k
{
1343
    // TODO: optimize
1344
121k
    SCN_EXPECT(!str.empty());
1345
121k
    auto res = get_next_code_point(str);
1346
121k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
121k
}
1348
1349
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1350
    char32_t cp,
1351
    bool error_on_overflow)
1352
0
{
1353
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1354
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1355
0
        SCN_UNUSED(error_on_overflow);
1356
0
        return static_cast<wchar_t>(cp);
1357
    }
1358
    else {
1359
        if (cp < 0x10000) {
1360
            return static_cast<wchar_t>(cp);
1361
        }
1362
        if (error_on_overflow) {
1363
            return detail::unexpected_scan_error(
1364
                scan_error::value_positive_overflow,
1365
                "Non-BMP code point can't be "
1366
                "narrowed to a single 2-byte "
1367
                "wchar_t code unit");
1368
        }
1369
        // Return the lead surrogate
1370
        return static_cast<wchar_t>(
1371
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1372
    }
1373
0
}
1374
1375
template <typename SourceCharT, typename DestCharT>
1376
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1377
                                   std::basic_string<DestCharT>& dest)
1378
2.77k
{
1379
2.77k
    static_assert(sizeof(DestCharT) == 4);
1380
1381
2.77k
    auto it = src.begin();
1382
133k
    while (it != src.end()) {
1383
130k
        auto res = get_next_code_point(
1384
130k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1385
130k
                                                                 src.end()));
1386
130k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1387
3.09k
            dest.push_back(DestCharT{0xfffd});
1388
3.09k
        }
1389
127k
        else {
1390
127k
            dest.push_back(static_cast<DestCharT>(res.value));
1391
127k
        }
1392
130k
        it = detail::make_string_view_iterator(src, res.iterator);
1393
130k
    }
1394
2.77k
}
1395
template <typename SourceCharT, typename DestCharT>
1396
void transcode_valid_to_string_impl_to32(
1397
    std::basic_string_view<SourceCharT> src,
1398
    std::basic_string<DestCharT>& dest)
1399
1.61k
{
1400
1.61k
    static_assert(sizeof(DestCharT) == 4);
1401
1402
1.61k
    auto it = src.begin();
1403
98.0k
    while (it != src.end()) {
1404
96.4k
        auto res = get_next_code_point_valid(
1405
96.4k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1406
96.4k
                                                                 src.end()));
1407
96.4k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1408
96.4k
        dest.push_back(static_cast<DestCharT>(res.value));
1409
96.4k
        it = detail::make_string_view_iterator(src, res.iterator);
1410
96.4k
    }
1411
1.61k
}
1412
1413
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1414
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1415
                                    std::basic_string<DestCharT>& dest)
1416
1.14k
{
1417
1.14k
    static_assert(sizeof(SourceCharT) == 4);
1418
1.14k
    static_assert(sizeof(DestCharT) == 1);
1419
1420
10.0k
    for (auto cp : src) {
1421
10.0k
        const auto u32cp = static_cast<uint32_t>(cp);
1422
10.0k
        if (SCN_UNLIKELY(!VerifiedValid && static_cast<char32_t>(cp) >=
1423
10.0k
                                               detail::invalid_code_point)) {
1424
            // Replacement character
1425
0
            dest.push_back(static_cast<char>(0xef));
1426
0
            dest.push_back(static_cast<char>(0xbf));
1427
0
            dest.push_back(static_cast<char>(0xbd));
1428
0
        }
1429
10.0k
        else if (cp < 128) {
1430
8.44k
            dest.push_back(static_cast<char>(cp));
1431
8.44k
        }
1432
1.61k
        else if (cp < 2048) {
1433
168
            dest.push_back(
1434
168
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1435
168
            dest.push_back(
1436
168
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1437
168
        }
1438
1.44k
        else if (cp < 65536) {
1439
1.03k
            dest.push_back(
1440
1.03k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1441
1.03k
            dest.push_back(static_cast<char>(
1442
1.03k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1443
1.03k
            dest.push_back(
1444
1.03k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1445
1.03k
        }
1446
408
        else {
1447
408
            dest.push_back(
1448
408
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1449
408
            dest.push_back(static_cast<char>(
1450
408
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1451
408
            dest.push_back(static_cast<char>(
1452
408
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1453
408
            dest.push_back(
1454
408
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1455
408
        }
1456
10.0k
    }
1457
1.14k
}
1458
1459
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1460
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1461
                                     std::basic_string<DestCharT>& dest)
1462
{
1463
    static_assert(sizeof(SourceCharT) == 4);
1464
    static_assert(sizeof(DestCharT) == 2);
1465
1466
    for (auto cp : src) {
1467
        const auto u32cp = static_cast<uint32_t>(cp);
1468
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1469
            dest.push_back(char16_t{0xfffd});
1470
        }
1471
        else if (cp < 0x10000) {
1472
            dest.push_back(static_cast<char16_t>(cp));
1473
        }
1474
        else {
1475
            dest.push_back(
1476
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1477
            dest.push_back(
1478
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1479
        }
1480
    }
1481
}
1482
1483
template <typename SourceCharT, typename DestCharT>
1484
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1485
                         std::basic_string<DestCharT>& dest)
1486
2.77k
{
1487
2.77k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1488
1489
2.77k
    if constexpr (sizeof(SourceCharT) == 1) {
1490
        if constexpr (sizeof(DestCharT) == 2) {
1491
            std::u32string tmp;
1492
            transcode_to_string_impl_to32(src, tmp);
1493
            return transcode_to_string_impl_32to16<false>(
1494
                std::u32string_view{tmp}, dest);
1495
        }
1496
2.77k
        else if constexpr (sizeof(DestCharT) == 4) {
1497
2.77k
            return transcode_to_string_impl_to32(src, dest);
1498
2.77k
        }
1499
    }
1500
    else if constexpr (sizeof(SourceCharT) == 2) {
1501
        if constexpr (sizeof(DestCharT) == 1) {
1502
            std::u32string tmp;
1503
            transcode_to_string_impl_to32(src, tmp);
1504
            return transcode_to_string_impl_32to8<false>(
1505
                std::u32string_view{tmp}, dest);
1506
        }
1507
        else if constexpr (sizeof(DestCharT) == 4) {
1508
            return trasncode_to_string_impl_to32(src, dest);
1509
        }
1510
    }
1511
    else if constexpr (sizeof(SourceCharT) == 4) {
1512
        if constexpr (sizeof(DestCharT) == 1) {
1513
            return transcode_to_string_impl_32to8<false>(src, dest);
1514
        }
1515
        else if constexpr (sizeof(DestCharT) == 2) {
1516
            return transcode_to_string_impl_32to16<false>(src, dest);
1517
        }
1518
    }
1519
1520
2.77k
    SCN_EXPECT(false);
1521
2.77k
    SCN_UNREACHABLE;
1522
2.77k
}
1523
template <typename SourceCharT, typename DestCharT>
1524
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1525
                               std::basic_string<DestCharT>& dest)
1526
2.75k
{
1527
2.75k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
2.75k
    SCN_EXPECT(validate_unicode(src));
1530
2.75k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.61k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.61k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.61k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.14k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.14k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.14k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.14k
    }
1561
1562
2.75k
    SCN_EXPECT(false);
1563
2.75k
    SCN_UNREACHABLE;
1564
2.75k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1526
1.61k
{
1527
1.61k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.61k
    SCN_EXPECT(validate_unicode(src));
1530
1.61k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.61k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.61k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.61k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
        if constexpr (sizeof(DestCharT) == 1) {
1555
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
    }
1561
1562
1.61k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.61k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1526
1.14k
{
1527
1.14k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.14k
    SCN_EXPECT(validate_unicode(src));
1530
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
        else if constexpr (sizeof(DestCharT) == 4) {
1539
            return transcode_valid_to_string_impl_to32(src, dest);
1540
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.14k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.14k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.14k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.14k
    }
1561
1562
1.14k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.14k
}
1565
1566
template <typename CharT>
1567
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1568
                                   function_ref<void(char32_t)> cb)
1569
44.3k
{
1570
    // TODO: Could be optimized by being eager
1571
44.3k
    auto it = input.begin();
1572
104k
    while (it != input.end()) {
1573
59.9k
        auto res = get_next_code_point(
1574
59.9k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
59.9k
        cb(res.value);
1576
59.9k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
59.9k
    }
1578
44.3k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
40.8k
{
1570
    // TODO: Could be optimized by being eager
1571
40.8k
    auto it = input.begin();
1572
91.7k
    while (it != input.end()) {
1573
50.8k
        auto res = get_next_code_point(
1574
50.8k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
50.8k
        cb(res.value);
1576
50.8k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
50.8k
    }
1578
40.8k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
3.45k
{
1570
    // TODO: Could be optimized by being eager
1571
3.45k
    auto it = input.begin();
1572
12.5k
    while (it != input.end()) {
1573
9.09k
        auto res = get_next_code_point(
1574
9.09k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
9.09k
        cb(res.value);
1576
9.09k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
9.09k
    }
1578
3.45k
}
1579
1580
template <typename CharT>
1581
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1582
                                         function_ref<void(char32_t)> cb)
1583
{
1584
    auto it = input.begin();
1585
    while (it != input.end()) {
1586
        auto res = get_next_code_point_valid(
1587
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1588
        cb(res.value);
1589
        it = detail::make_string_view_iterator(input, res.iterator);
1590
    }
1591
}
1592
1593
/////////////////////////////////////////////////////////////////
1594
// contiguous_range_factory
1595
/////////////////////////////////////////////////////////////////
1596
1597
template <typename View>
1598
class take_width_view;
1599
1600
template <typename CharT>
1601
struct string_view_wrapper {
1602
    using char_type = CharT;
1603
    using string_type = std::basic_string<CharT>;
1604
    using string_view_type = std::basic_string_view<CharT>;
1605
1606
    constexpr string_view_wrapper() = default;
1607
1608
    template <typename Range,
1609
              std::enable_if_t<ranges::borrowed_range<Range> &&
1610
                               ranges::contiguous_range<Range> &&
1611
                               ranges::sized_range<Range>>* = nullptr>
1612
46.3k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
46.3k
    {
1614
46.3k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
12.0k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
12.0k
    {
1614
12.0k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1612
17.1k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
17.1k
    {
1614
17.1k
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
9.76k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
9.76k
    {
1614
9.76k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1612
7.37k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
7.37k
    {
1614
7.37k
    }
1615
1616
    template <typename Range,
1617
              std::enable_if_t<ranges::borrowed_range<Range> &&
1618
                               ranges::contiguous_range<Range> &&
1619
                               ranges::sized_range<Range>>* = nullptr>
1620
    void assign(Range&& r)
1621
    {
1622
        sv = string_view_type{ranges::data(r), r.size()};
1623
    }
1624
1625
    constexpr auto view() const
1626
75.0k
    {
1627
75.0k
        return sv;
1628
75.0k
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1626
63.4k
    {
1627
63.4k
        return sv;
1628
63.4k
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1626
11.5k
    {
1627
11.5k
        return sv;
1628
11.5k
    }
1629
1630
    constexpr bool stores_allocated_string() const
1631
0
    {
1632
0
        return false;
1633
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1634
1635
    [[noreturn]] string_type get_allocated_string() const
1636
    {
1637
        SCN_EXPECT(false);
1638
        SCN_UNREACHABLE;
1639
    }
1640
1641
    string_view_type sv;
1642
};
1643
1644
template <typename Range>
1645
string_view_wrapper(Range)
1646
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1647
1648
template <typename CharT>
1649
class contiguous_range_factory {
1650
public:
1651
    using char_type = CharT;
1652
    using string_type = std::basic_string<CharT>;
1653
    using string_view_type = std::basic_string_view<CharT>;
1654
1655
4.82k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1655
2.58k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1655
2.23k
    contiguous_range_factory() = default;
1656
1657
    template <typename Range,
1658
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1659
    contiguous_range_factory(Range&& range)
1660
3.00k
    {
1661
3.00k
        emplace_range(SCN_FWD(range));
1662
3.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
2.20k
    {
1661
2.20k
        emplace_range(SCN_FWD(range));
1662
2.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
806
    {
1661
806
        emplace_range(SCN_FWD(range));
1662
806
    }
1663
1664
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1665
        : m_storage(std::nullopt), m_view(svw.view())
1666
    {
1667
    }
1668
1669
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1670
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1671
        delete;
1672
1673
    contiguous_range_factory(contiguous_range_factory&& other)
1674
        : m_storage(SCN_MOVE(other.m_storage))
1675
    {
1676
        if (m_storage) {
1677
            m_view = *m_storage;
1678
        }
1679
        else {
1680
            m_view = other.m_view;
1681
        }
1682
    }
1683
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1684
    {
1685
        m_storage = SCN_MOVE(other.m_storage);
1686
        if (m_storage) {
1687
            m_view = *m_storage;
1688
        }
1689
        else {
1690
            m_view = other.m_view;
1691
        }
1692
        return *this;
1693
    }
1694
1695
7.82k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1695
4.78k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1695
3.04k
    ~contiguous_range_factory() = default;
1696
1697
    template <typename Range,
1698
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1699
    void assign(Range&& range)
1700
1.90k
    {
1701
1.90k
        emplace_range(SCN_FWD(range));
1702
1.90k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
902
    {
1701
902
        emplace_range(SCN_FWD(range));
1702
902
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1700
20
    {
1701
20
        emplace_range(SCN_FWD(range));
1702
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
912
    {
1701
912
        emplace_range(SCN_FWD(range));
1702
912
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1700
74
    {
1701
74
        emplace_range(SCN_FWD(range));
1702
74
    }
1703
1704
    string_view_type view() const
1705
7.67k
    {
1706
7.67k
        return m_view;
1707
7.67k
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1705
4.47k
    {
1706
4.47k
        return m_view;
1707
4.47k
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1705
3.20k
    {
1706
3.20k
        return m_view;
1707
3.20k
    }
1708
1709
    constexpr bool stores_allocated_string() const
1710
1.77k
    {
1711
1.77k
        return m_storage.has_value();
1712
1.77k
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1710
948
    {
1711
948
        return m_storage.has_value();
1712
948
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1710
828
    {
1711
828
        return m_storage.has_value();
1712
828
    }
1713
1714
    string_type& get_allocated_string() &
1715
906
    {
1716
906
        SCN_EXPECT(stores_allocated_string());
1717
906
        return *m_storage;
1718
906
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1715
474
    {
1716
474
        SCN_EXPECT(stores_allocated_string());
1717
474
        return *m_storage;
1718
474
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1715
432
    {
1716
432
        SCN_EXPECT(stores_allocated_string());
1717
432
        return *m_storage;
1718
432
    }
1719
    const string_type& get_allocated_string() const&
1720
    {
1721
        SCN_EXPECT(stores_allocated_string());
1722
        return *m_storage;
1723
    }
1724
    string_type&& get_allocated_string() &&
1725
    {
1726
        SCN_EXPECT(stores_allocated_string());
1727
        return *m_storage;
1728
    }
1729
1730
    string_type& make_into_allocated_string()
1731
0
    {
1732
0
        if (stores_allocated_string()) {
1733
0
            return get_allocated_string();
1734
0
        }
1735
1736
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1737
0
        m_view = string_view_type{str.data(), str.size()};
1738
0
        return str;
1739
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1740
1741
private:
1742
    template <typename Range>
1743
    void emplace_range(Range&& range)
1744
4.91k
    {
1745
4.91k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
1.81k
                      ranges::sized_range<Range>) {
1750
1.81k
            m_storage.reset();
1751
1.81k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
74
                                          std::basic_string<CharT>>) {
1755
74
            m_storage.emplace(SCN_FWD(range));
1756
74
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
0
                           ranges::common_range<Range>) {
1762
0
            auto beg_seg = range.begin().contiguous_segment();
1763
0
            auto end_seg = range.end().contiguous_segment();
1764
0
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
0
                             detail::to_address(end_seg.end()))) {
1766
0
                auto& str = m_storage.emplace();
1767
0
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
0
                                                     range.begin().position()));
1769
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
0
                m_view = string_view_type{str.data(), str.size()};
1771
0
                return;
1772
0
            }
1773
1774
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
0
                                                            end_seg.data());
1776
0
            m_storage.reset();
1777
        }
1778
3.02k
        else {
1779
3.02k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
3.02k
            if constexpr (ranges::common_range<Range>) {
1784
3.02k
                std::copy(ranges::begin(range), ranges::end(range),
1785
3.02k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
3.02k
            m_view = string_view_type{str.data(), str.size()};
1794
3.02k
        }
1795
4.91k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1744
2.20k
    {
1745
2.20k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
2.20k
        else {
1779
2.20k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.20k
            if constexpr (ranges::common_range<Range>) {
1784
2.20k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.20k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.20k
            m_view = string_view_type{str.data(), str.size()};
1794
2.20k
        }
1795
2.20k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1744
902
    {
1745
902
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
902
                      ranges::sized_range<Range>) {
1750
902
            m_storage.reset();
1751
902
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
902
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1744
826
    {
1745
826
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
826
        else {
1779
826
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
826
            if constexpr (ranges::common_range<Range>) {
1784
826
                std::copy(ranges::begin(range), ranges::end(range),
1785
826
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
826
            m_view = string_view_type{str.data(), str.size()};
1794
826
        }
1795
826
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1744
912
    {
1745
912
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
912
                      ranges::sized_range<Range>) {
1750
912
            m_storage.reset();
1751
912
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
912
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1744
74
    {
1745
74
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
74
                                          std::basic_string<CharT>>) {
1755
74
            m_storage.emplace(SCN_FWD(range));
1756
74
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
74
    }
1796
1797
    std::optional<string_type> m_storage{std::nullopt};
1798
    string_view_type m_view{};
1799
};
1800
1801
template <typename Range>
1802
contiguous_range_factory(Range)
1803
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1804
1805
template <typename Range>
1806
auto make_contiguous_buffer(Range&& range)
1807
49.3k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
46.3k
                  ranges::sized_range<Range>) {
1811
46.3k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
3.00k
    else {
1814
3.00k
        return contiguous_range_factory{SCN_FWD(range)};
1815
3.00k
    }
1816
49.3k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1807
2.20k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.20k
    else {
1814
2.20k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.20k
    }
1816
2.20k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1807
12.0k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
12.0k
                  ranges::sized_range<Range>) {
1811
12.0k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
12.0k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1807
17.1k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
17.1k
                  ranges::sized_range<Range>) {
1811
17.1k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
17.1k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1807
806
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
806
    else {
1814
806
        return contiguous_range_factory{SCN_FWD(range)};
1815
806
    }
1816
806
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1807
9.76k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
9.76k
                  ranges::sized_range<Range>) {
1811
9.76k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
9.76k
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1807
7.37k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
7.37k
                  ranges::sized_range<Range>) {
1811
7.37k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
7.37k
}
1817
}  // namespace impl
1818
1819
/////////////////////////////////////////////////////////////////
1820
// locale stuff
1821
/////////////////////////////////////////////////////////////////
1822
1823
#if !SCN_DISABLE_LOCALE
1824
1825
namespace detail {
1826
extern template locale_ref::locale_ref(const std::locale&);
1827
extern template auto locale_ref::get() const -> std::locale;
1828
}  // namespace detail
1829
1830
namespace impl {
1831
template <typename Facet>
1832
const Facet& get_facet(detail::locale_ref loc)
1833
{
1834
    auto stdloc = loc.get<std::locale>();
1835
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1836
    return std::use_facet<Facet>(stdloc);
1837
}
1838
1839
template <typename Facet>
1840
const Facet& get_or_add_facet(std::locale& stdloc)
1841
244
{
1842
244
    if (std::has_facet<Facet>(stdloc)) {
1843
244
        return std::use_facet<Facet>(stdloc);
1844
244
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
244
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1841
86
{
1842
86
    if (std::has_facet<Facet>(stdloc)) {
1843
86
        return std::use_facet<Facet>(stdloc);
1844
86
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
86
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1841
158
{
1842
158
    if (std::has_facet<Facet>(stdloc)) {
1843
158
        return std::use_facet<Facet>(stdloc);
1844
158
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
158
}
1848
1849
class clocale_restorer {
1850
public:
1851
94
    clocale_restorer(int cat) : m_category(cat)
1852
94
    {
1853
94
        const auto loc = std::setlocale(cat, nullptr);
1854
94
        std::strcpy(m_locbuf, loc);
1855
94
    }
1856
    ~clocale_restorer()
1857
94
    {
1858
        // Restore locale to what it was before
1859
94
        std::setlocale(m_category, m_locbuf);
1860
94
    }
1861
1862
    clocale_restorer(const clocale_restorer&) = delete;
1863
    clocale_restorer(clocale_restorer&&) = delete;
1864
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1865
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1866
1867
private:
1868
    // For whatever reason, this cannot be stored in the heap if
1869
    // setlocale hasn't been called before, or msan errors with
1870
    // 'use-of-unitialized-value' when resetting the locale
1871
    // back. POSIX specifies that the content of loc may not be
1872
    // static, so we need to save it ourselves
1873
    char m_locbuf[64] = {0};
1874
1875
    int m_category;
1876
};
1877
1878
class set_clocale_classic_guard {
1879
public:
1880
94
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1881
94
    {
1882
94
        std::setlocale(cat, "C");
1883
94
    }
1884
1885
private:
1886
    clocale_restorer m_restorer;
1887
};
1888
}  // namespace impl
1889
1890
namespace impl {
1891
struct classic_with_thsep_tag {};
1892
1893
template <typename CharT>
1894
struct localized_number_formatting_options {
1895
2.41k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1895
1.29k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1895
1.11k
    localized_number_formatting_options() = default;
1896
1897
    localized_number_formatting_options(classic_with_thsep_tag)
1898
0
    {
1899
0
        grouping = "\3";
1900
0
        thousands_sep = CharT{','};
1901
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1902
1903
    localized_number_formatting_options(detail::locale_ref loc)
1904
194
    {
1905
194
        auto stdloc = loc.get<std::locale>();
1906
194
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
194
        grouping = numpunct.grouping();
1908
194
        thousands_sep =
1909
194
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
194
        decimal_point = numpunct.decimal_point();
1911
194
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
62
    {
1905
62
        auto stdloc = loc.get<std::locale>();
1906
62
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
62
        grouping = numpunct.grouping();
1908
62
        thousands_sep =
1909
62
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
62
        decimal_point = numpunct.decimal_point();
1911
62
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
132
    {
1905
132
        auto stdloc = loc.get<std::locale>();
1906
132
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
132
        grouping = numpunct.grouping();
1908
132
        thousands_sep =
1909
132
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
132
        decimal_point = numpunct.decimal_point();
1911
132
    }
1912
1913
    std::string grouping{};
1914
    CharT thousands_sep{0};
1915
    CharT decimal_point{CharT{'.'}};
1916
};
1917
}  // namespace impl
1918
1919
#else
1920
1921
namespace impl {
1922
struct set_clocale_classic_guard {
1923
    set_clocale_classic_guard(int) {}
1924
};
1925
1926
struct classic_with_thsep_tag {};
1927
1928
template <typename CharT>
1929
struct localized_number_formatting_options {
1930
    localized_number_formatting_options() = default;
1931
1932
    localized_number_formatting_options(classic_with_thsep_tag)
1933
    {
1934
        grouping = "\3";
1935
        thousands_sep = CharT{','};
1936
    }
1937
1938
    std::string grouping{};
1939
    CharT thousands_sep{0};
1940
    CharT decimal_point{CharT{'.'}};
1941
};
1942
}  // namespace impl
1943
1944
#endif  // !SCN_DISABLE_LOCALE
1945
1946
/////////////////////////////////////////////////////////////////
1947
// Range reading algorithms
1948
/////////////////////////////////////////////////////////////////
1949
1950
namespace impl {
1951
1952
std::string_view::iterator find_classic_space_narrow_fast(
1953
    std::string_view source);
1954
1955
std::string_view::iterator find_classic_nonspace_narrow_fast(
1956
    std::string_view source);
1957
1958
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1959
    std::string_view source);
1960
1961
template <typename Range>
1962
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1963
2.06k
{
1964
2.06k
    return ranges::next(range.begin(), range.end());
1965
2.06k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
902
{
1964
902
    return ranges::next(range.begin(), range.end());
1965
902
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
174
{
1964
174
    return ranges::next(range.begin(), range.end());
1965
174
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
910
{
1964
910
    return ranges::next(range.begin(), range.end());
1965
910
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
78
{
1964
78
    return ranges::next(range.begin(), range.end());
1965
78
}
1966
1967
template <typename Range>
1968
auto read_code_unit(Range range)
1969
    -> eof_expected<ranges::const_iterator_t<Range>>
1970
16.7k
{
1971
16.7k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
16.7k
    return ranges::next(range.begin());
1976
16.7k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
2.49k
{
1971
2.49k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
2.49k
    return ranges::next(range.begin());
1976
2.49k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
40
{
1971
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
40
    return ranges::next(range.begin());
1976
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.46k
{
1971
6.46k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.46k
    return ranges::next(range.begin());
1976
6.46k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
1.31k
{
1971
1.31k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
1.31k
    return ranges::next(range.begin());
1976
1.31k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
110
{
1971
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
96
    return ranges::next(range.begin());
1976
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.34k
{
1971
6.34k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.34k
    return ranges::next(range.begin());
1976
6.34k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1977
1978
template <typename Range>
1979
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1980
    -> eof_expected<ranges::const_iterator_t<Range>>
1981
52.9k
{
1982
52.9k
    SCN_EXPECT(count >= 0);
1983
1984
52.9k
    if constexpr (ranges::sized_range<Range>) {
1985
42.3k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
42.3k
        if (sz < count) {
1987
724
            return unexpected(eof_error::eof);
1988
724
        }
1989
1990
41.6k
        return ranges::next(range.begin(), count);
1991
    }
1992
10.5k
    else {
1993
10.5k
        auto it = range.begin();
1994
10.5k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
40.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
30.6k
            if (it == range.end()) {
2000
1.01k
                return unexpected(eof_error::eof);
2001
1.01k
            }
2002
30.6k
        }
2003
2004
9.54k
        return it;
2005
10.5k
    }
2006
52.9k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
36.8k
{
1982
36.8k
    SCN_EXPECT(count >= 0);
1983
1984
36.8k
    if constexpr (ranges::sized_range<Range>) {
1985
36.8k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
36.8k
        if (sz < count) {
1987
540
            return unexpected(eof_error::eof);
1988
540
        }
1989
1990
36.2k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
36.8k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
7.11k
{
1982
7.11k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
7.11k
    else {
1993
7.11k
        auto it = range.begin();
1994
7.11k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
26.2k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
19.4k
            if (it == range.end()) {
2000
332
                return unexpected(eof_error::eof);
2001
332
            }
2002
19.4k
        }
2003
2004
6.78k
        return it;
2005
7.11k
    }
2006
7.11k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
5.56k
{
1982
5.56k
    SCN_EXPECT(count >= 0);
1983
1984
5.56k
    if constexpr (ranges::sized_range<Range>) {
1985
5.56k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
5.56k
        if (sz < count) {
1987
184
            return unexpected(eof_error::eof);
1988
184
        }
1989
1990
5.37k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
5.56k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
890
{
1982
890
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
890
    else {
1993
890
        auto it = range.begin();
1994
890
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
2.76k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
2.10k
            if (it == range.end()) {
2000
230
                return unexpected(eof_error::eof);
2001
230
            }
2002
2.10k
        }
2003
2004
660
        return it;
2005
890
    }
2006
890
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1981
1.30k
{
1982
1.30k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
1.30k
    else {
1993
1.30k
        auto it = range.begin();
1994
1.30k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
5.08k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.92k
            if (it == range.end()) {
2000
144
                return unexpected(eof_error::eof);
2001
144
            }
2002
3.92k
        }
2003
2004
1.16k
        return it;
2005
1.30k
    }
2006
1.30k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
880
{
1982
880
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
880
    else {
1993
880
        auto it = range.begin();
1994
880
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
4.37k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.68k
            if (it == range.end()) {
2000
184
                return unexpected(eof_error::eof);
2001
184
            }
2002
3.68k
        }
2003
2004
696
        return it;
2005
880
    }
2006
880
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
368
{
1982
368
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
368
    else {
1993
368
        auto it = range.begin();
1994
368
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
1.69k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
1.45k
            if (it == range.end()) {
2000
128
                return unexpected(eof_error::eof);
2001
128
            }
2002
1.45k
        }
2003
2004
240
        return it;
2005
368
    }
2006
368
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
2007
2008
template <typename Iterator, typename CharT>
2009
struct read_code_point_into_result {
2010
    Iterator iterator;
2011
    std::basic_string<CharT> codepoint;
2012
2013
    bool is_valid() const
2014
349k
    {
2015
349k
        return !codepoint.empty();
2016
349k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
2014
27.1k
    {
2015
27.1k
        return !codepoint.empty();
2016
27.1k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
2014
255k
    {
2015
255k
        return !codepoint.empty();
2016
255k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
2014
11.6k
    {
2015
11.6k
        return !codepoint.empty();
2016
11.6k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
2014
49.7k
    {
2015
49.7k
        return !codepoint.empty();
2016
49.7k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
2014
3.44k
    {
2015
3.44k
        return !codepoint.empty();
2016
3.44k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
2014
1.68k
    {
2015
1.68k
        return !codepoint.empty();
2016
1.68k
    }
2017
};
2018
2019
template <typename Range>
2020
auto read_code_point_into(Range range)
2021
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
2022
                                   detail::char_t<Range>>
2023
349k
{
2024
349k
    SCN_EXPECT(!is_range_eof(range));
2025
349k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
349k
    auto it = range.begin();
2028
349k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
349k
    if (SCN_UNLIKELY(len == 0)) {
2031
3.64k
        ++it;
2032
3.64k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
3.64k
        return {it, {}};
2034
3.64k
    }
2035
2036
345k
    if (len == 1) {
2037
301k
        ++it;
2038
301k
        return {it, string_type(1, *range.begin())};
2039
301k
    }
2040
2041
44.6k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
44.6k
    return {it, string_type{range.begin(), it}};
2043
345k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
27.1k
{
2024
27.1k
    SCN_EXPECT(!is_range_eof(range));
2025
27.1k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
27.1k
    auto it = range.begin();
2028
27.1k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
27.1k
    if (SCN_UNLIKELY(len == 0)) {
2031
2.68k
        ++it;
2032
2.68k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
2.68k
        return {it, {}};
2034
2.68k
    }
2035
2036
24.4k
    if (len == 1) {
2037
21.0k
        ++it;
2038
21.0k
        return {it, string_type(1, *range.begin())};
2039
21.0k
    }
2040
2041
3.38k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
3.38k
    return {it, string_type{range.begin(), it}};
2043
24.4k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
255k
{
2024
255k
    SCN_EXPECT(!is_range_eof(range));
2025
255k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
255k
    auto it = range.begin();
2028
255k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
255k
    if (SCN_UNLIKELY(len == 0)) {
2031
954
        ++it;
2032
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
954
        return {it, {}};
2034
954
    }
2035
2036
254k
    if (len == 1) {
2037
214k
        ++it;
2038
214k
        return {it, string_type(1, *range.begin())};
2039
214k
    }
2040
2041
40.3k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
40.3k
    return {it, string_type{range.begin(), it}};
2043
254k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
49.7k
{
2024
49.7k
    SCN_EXPECT(!is_range_eof(range));
2025
49.7k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
49.7k
    auto it = range.begin();
2028
49.7k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
49.7k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
49.7k
    if (len == 1) {
2037
49.7k
        ++it;
2038
49.7k
        return {it, string_type(1, *range.begin())};
2039
49.7k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
49.7k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
11.6k
{
2024
11.6k
    SCN_EXPECT(!is_range_eof(range));
2025
11.6k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
11.6k
    auto it = range.begin();
2028
11.6k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
11.6k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
11.6k
    if (len == 1) {
2037
11.6k
        ++it;
2038
11.6k
        return {it, string_type(1, *range.begin())};
2039
11.6k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
11.6k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
3.44k
{
2024
3.44k
    SCN_EXPECT(!is_range_eof(range));
2025
3.44k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
3.44k
    auto it = range.begin();
2028
3.44k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
3.44k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
3.44k
    if (len == 1) {
2037
2.54k
        ++it;
2038
2.54k
        return {it, string_type(1, *range.begin())};
2039
2.54k
    }
2040
2041
902
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
902
    return {it, string_type{range.begin(), it}};
2043
3.44k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
1.68k
{
2024
1.68k
    SCN_EXPECT(!is_range_eof(range));
2025
1.68k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
1.68k
    auto it = range.begin();
2028
1.68k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
1.68k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
1.68k
    if (len == 1) {
2037
1.68k
        ++it;
2038
1.68k
        return {it, string_type(1, *range.begin())};
2039
1.68k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
1.68k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2044
2045
template <typename Range>
2046
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2047
{
2048
    return read_code_point_into(range).iterator;
2049
}
2050
2051
template <typename Range>
2052
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2053
    -> eof_expected<ranges::const_iterator_t<Range>>
2054
{
2055
    SCN_EXPECT(count >= 0);
2056
2057
    if (count > 0) {
2058
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2059
            return unexpected(e);
2060
        }
2061
    }
2062
2063
    auto it = range.begin();
2064
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2065
        auto rng = ranges::subrange{it, range.end()};
2066
2067
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2068
            return unexpected(e);
2069
        }
2070
2071
        it = read_code_point(rng);
2072
    }
2073
2074
    return it;
2075
}
2076
2077
template <typename Range>
2078
auto read_until_code_unit(Range range,
2079
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2080
    -> ranges::const_iterator_t<Range>
2081
402
{
2082
402
    if constexpr (ranges::common_range<Range>) {
2083
168
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
234
    else {
2086
234
        auto first = range.begin();
2087
5.28k
        for (; first != range.end(); ++first) {
2088
5.05k
            if (*first == cu) {
2089
12
                return first;
2090
12
            }
2091
5.05k
        }
2092
222
        return first;
2093
234
    }
2094
402
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
150
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
150
    else {
2086
150
        auto first = range.begin();
2087
3.17k
        for (; first != range.end(); ++first) {
2088
3.03k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
3.03k
        }
2092
144
        return first;
2093
150
    }
2094
150
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
66
{
2082
66
    if constexpr (ranges::common_range<Range>) {
2083
66
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
66
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
84
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
84
    else {
2086
84
        auto first = range.begin();
2087
2.10k
        for (; first != range.end(); ++first) {
2088
2.02k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.02k
        }
2092
78
        return first;
2093
84
    }
2094
84
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
102
{
2082
102
    if constexpr (ranges::common_range<Range>) {
2083
102
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
102
}
2095
2096
template <typename Range>
2097
auto read_until_code_unit(Range range,
2098
                          function_ref<bool(detail::char_t<Range>)> pred)
2099
    -> ranges::const_iterator_t<Range>
2100
6.05k
{
2101
6.05k
    if constexpr (ranges::common_range<Range>) {
2102
1.99k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
4.05k
    else {
2105
4.05k
        auto first = range.begin();
2106
13.8k
        for (; first != range.end(); ++first) {
2107
13.4k
            if (pred(*first)) {
2108
3.61k
                return first;
2109
3.61k
            }
2110
13.4k
        }
2111
434
        return first;
2112
4.05k
    }
2113
6.05k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
1.41k
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
1.41k
    else {
2105
1.41k
        auto first = range.begin();
2106
1.41k
        for (; first != range.end(); ++first) {
2107
1.41k
            if (pred(*first)) {
2108
1.41k
                return first;
2109
1.41k
            }
2110
1.41k
        }
2111
0
        return first;
2112
1.41k
    }
2113
1.41k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
596
{
2101
596
    if constexpr (ranges::common_range<Range>) {
2102
596
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
596
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
486
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
486
    else {
2105
486
        auto first = range.begin();
2106
7.72k
        for (; first != range.end(); ++first) {
2107
7.50k
            if (pred(*first)) {
2108
266
                return first;
2109
266
            }
2110
7.50k
        }
2111
220
        return first;
2112
486
    }
2113
486
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
736
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
736
    else {
2105
736
        auto first = range.begin();
2106
802
        for (; first != range.end(); ++first) {
2107
772
            if (pred(*first)) {
2108
706
                return first;
2109
706
            }
2110
772
        }
2111
30
        return first;
2112
736
    }
2113
736
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
1.40k
{
2101
1.40k
    if constexpr (ranges::common_range<Range>) {
2102
1.40k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
1.40k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
410
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
410
    else {
2105
410
        auto first = range.begin();
2106
2.33k
        for (; first != range.end(); ++first) {
2107
2.22k
            if (pred(*first)) {
2108
296
                return first;
2109
296
            }
2110
2.22k
        }
2111
114
        return first;
2112
410
    }
2113
410
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
500
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
500
    else {
2105
500
        auto first = range.begin();
2106
752
        for (; first != range.end(); ++first) {
2107
716
            if (pred(*first)) {
2108
464
                return first;
2109
464
            }
2110
716
        }
2111
36
        return first;
2112
500
    }
2113
500
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
510
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
510
    else {
2105
510
        auto first = range.begin();
2106
816
        for (; first != range.end(); ++first) {
2107
782
            if (pred(*first)) {
2108
476
                return first;
2109
476
            }
2110
782
        }
2111
34
        return first;
2112
510
    }
2113
510
}
2114
2115
template <typename Range>
2116
auto read_while_code_unit(Range range,
2117
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2118
    -> ranges::const_iterator_t<Range>
2119
{
2120
    auto first = range.begin();
2121
    for (; first != range.end(); ++first) {
2122
        if (*first != cu) {
2123
            return first;
2124
        }
2125
    }
2126
    return first;
2127
}
2128
2129
template <typename Range>
2130
auto read_while_code_unit(Range range,
2131
                          function_ref<bool(detail::char_t<Range>)> pred)
2132
    -> ranges::const_iterator_t<Range>
2133
5.57k
{
2134
5.57k
    return read_until_code_unit(range, std::not_fn(pred));
2135
5.57k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
1.41k
{
2134
1.41k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.41k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
500
{
2134
500
    return read_until_code_unit(range, std::not_fn(pred));
2135
500
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
312
{
2134
312
    return read_until_code_unit(range, std::not_fn(pred));
2135
312
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
736
{
2134
736
    return read_until_code_unit(range, std::not_fn(pred));
2135
736
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
1.30k
{
2134
1.30k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.30k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
302
{
2134
302
    return read_until_code_unit(range, std::not_fn(pred));
2135
302
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
500
{
2134
500
    return read_until_code_unit(range, std::not_fn(pred));
2135
500
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
510
{
2134
510
    return read_until_code_unit(range, std::not_fn(pred));
2135
510
}
2136
2137
template <typename Range>
2138
auto read_until1_code_unit(Range range,
2139
                           function_ref<bool(detail::char_t<Range>)> pred)
2140
    -> parse_expected<ranges::const_iterator_t<Range>>
2141
{
2142
    auto it = read_until_code_unit(range, pred);
2143
    if (it == range.begin()) {
2144
        return unexpected(parse_error::error);
2145
    }
2146
    return it;
2147
}
2148
2149
template <typename Range>
2150
auto read_while1_code_unit(Range range,
2151
                           function_ref<bool(detail::char_t<Range>)> pred)
2152
    -> parse_expected<ranges::const_iterator_t<Range>>
2153
2.19k
{
2154
2.19k
    auto it = read_while_code_unit(range, pred);
2155
2.19k
    if (it == range.begin()) {
2156
2.12k
        return unexpected(parse_error::error);
2157
2.12k
    }
2158
70
    return it;
2159
2.19k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
1.41k
{
2154
1.41k
    auto it = read_while_code_unit(range, pred);
2155
1.41k
    if (it == range.begin()) {
2156
1.41k
        return unexpected(parse_error::error);
2157
1.41k
    }
2158
0
    return it;
2159
1.41k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
22
{
2154
22
    auto it = read_while_code_unit(range, pred);
2155
22
    if (it == range.begin()) {
2156
22
        return unexpected(parse_error::error);
2157
22
    }
2158
0
    return it;
2159
22
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
736
{
2154
736
    auto it = read_while_code_unit(range, pred);
2155
736
    if (it == range.begin()) {
2156
670
        return unexpected(parse_error::error);
2157
670
    }
2158
66
    return it;
2159
736
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
24
{
2154
24
    auto it = read_while_code_unit(range, pred);
2155
24
    if (it == range.begin()) {
2156
20
        return unexpected(parse_error::error);
2157
20
    }
2158
4
    return it;
2159
24
}
2160
2161
template <typename Range, typename CodeUnits>
2162
auto read_until_code_units(Range range, const CodeUnits& needle)
2163
    -> ranges::const_iterator_t<Range>
2164
246
{
2165
246
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
246
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
246
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2164
156
{
2165
156
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
    if constexpr (ranges::common_range<Range>) {
2168
        return std::search(range.begin(), range.end(), needle.begin(),
2169
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
156
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2164
90
{
2165
90
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
90
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
    else {
2172
        auto first = range.begin();
2173
        while (true) {
2174
            auto it = first;
2175
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
                if (needle_it == needle.end()) {
2177
                    return first;
2178
                }
2179
                if (it == range.end()) {
2180
                    return it;
2181
                }
2182
                if (*it != *needle_it) {
2183
                    break;
2184
                }
2185
            }
2186
            ++first;
2187
        }
2188
    }
2189
90
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2190
2191
template <typename Range, typename CodeUnits>
2192
auto read_while_code_units(Range range, const CodeUnits& needle)
2193
    -> ranges::const_iterator_t<Range>
2194
1.40k
{
2195
1.40k
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
1.40k
    auto it = range.begin();
2198
2.61k
    while (it != range.end()) {
2199
2.53k
        auto r = read_exactly_n_code_units(
2200
2.53k
            ranges::subrange{it, range.end()},
2201
2.53k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
2.53k
        if (!r) {
2203
220
            return it;
2204
220
        }
2205
2.31k
        static_assert(
2206
2.31k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
2.31k
        if (!std::equal(it, *r, needle.begin())) {
2208
1.10k
            return it;
2209
1.10k
        }
2210
1.20k
        it = *r;
2211
1.20k
    }
2212
80
    SCN_ENSURE(it == range.end());
2213
80
    return it;
2214
80
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2194
316
{
2195
316
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
316
    auto it = range.begin();
2198
596
    while (it != range.end()) {
2199
596
        auto r = read_exactly_n_code_units(
2200
596
            ranges::subrange{it, range.end()},
2201
596
            static_cast<std::ptrdiff_t>(needle.size()));
2202
596
        if (!r) {
2203
6
            return it;
2204
6
        }
2205
590
        static_assert(
2206
590
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
590
        if (!std::equal(it, *r, needle.begin())) {
2208
310
            return it;
2209
310
        }
2210
280
        it = *r;
2211
280
    }
2212
0
    SCN_ENSURE(it == range.end());
2213
0
    return it;
2214
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2194
334
{
2195
334
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
334
    auto it = range.begin();
2198
678
    while (it != range.end()) {
2199
632
        auto r = read_exactly_n_code_units(
2200
632
            ranges::subrange{it, range.end()},
2201
632
            static_cast<std::ptrdiff_t>(needle.size()));
2202
632
        if (!r) {
2203
70
            return it;
2204
70
        }
2205
562
        static_assert(
2206
562
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
562
        if (!std::equal(it, *r, needle.begin())) {
2208
218
            return it;
2209
218
        }
2210
344
        it = *r;
2211
344
    }
2212
46
    SCN_ENSURE(it == range.end());
2213
46
    return it;
2214
46
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2194
756
{
2195
756
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
756
    auto it = range.begin();
2198
1.33k
    while (it != range.end()) {
2199
1.30k
        auto r = read_exactly_n_code_units(
2200
1.30k
            ranges::subrange{it, range.end()},
2201
1.30k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
1.30k
        if (!r) {
2203
144
            return it;
2204
144
        }
2205
1.16k
        static_assert(
2206
1.16k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
1.16k
        if (!std::equal(it, *r, needle.begin())) {
2208
578
            return it;
2209
578
        }
2210
582
        it = *r;
2211
582
    }
2212
34
    SCN_ENSURE(it == range.end());
2213
34
    return it;
2214
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2215
2216
template <typename Range>
2217
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2218
    -> ranges::const_iterator_t<Range>
2219
28.0k
{
2220
28.0k
    auto it = range.begin();
2221
358k
    while (it != range.end()) {
2222
349k
        const auto val =
2223
349k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
349k
        if (SCN_LIKELY(val.is_valid())) {
2225
345k
            const auto cp = detail::decode_code_point_exhaustive(
2226
345k
                std::basic_string_view<detail::char_t<Range>>{
2227
345k
                    val.codepoint.data(), val.codepoint.size()});
2228
345k
            if (pred(cp)) {
2229
18.8k
                return it;
2230
18.8k
            }
2231
345k
        }
2232
330k
        it = val.iterator;
2233
330k
    }
2234
2235
9.19k
    return it;
2236
28.0k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
1.01k
{
2220
1.01k
    auto it = range.begin();
2221
13.6k
    while (it != range.end()) {
2222
13.2k
        const auto val =
2223
13.2k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
13.2k
        if (SCN_LIKELY(val.is_valid())) {
2225
11.9k
            const auto cp = detail::decode_code_point_exhaustive(
2226
11.9k
                std::basic_string_view<detail::char_t<Range>>{
2227
11.9k
                    val.codepoint.data(), val.codepoint.size()});
2228
11.9k
            if (pred(cp)) {
2229
622
                return it;
2230
622
            }
2231
11.9k
        }
2232
12.5k
        it = val.iterator;
2233
12.5k
    }
2234
2235
392
    return it;
2236
1.01k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
972
{
2220
972
    auto it = range.begin();
2221
14.6k
    while (it != range.end()) {
2222
13.9k
        const auto val =
2223
13.9k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
13.9k
        if (SCN_LIKELY(val.is_valid())) {
2225
12.4k
            const auto cp = detail::decode_code_point_exhaustive(
2226
12.4k
                std::basic_string_view<detail::char_t<Range>>{
2227
12.4k
                    val.codepoint.data(), val.codepoint.size()});
2228
12.4k
            if (pred(cp)) {
2229
222
                return it;
2230
222
            }
2231
12.4k
        }
2232
13.7k
        it = val.iterator;
2233
13.7k
    }
2234
2235
750
    return it;
2236
972
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
2.31k
{
2220
2.31k
    auto it = range.begin();
2221
255k
    while (it != range.end()) {
2222
255k
        const auto val =
2223
255k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
255k
        if (SCN_LIKELY(val.is_valid())) {
2225
254k
            const auto cp = detail::decode_code_point_exhaustive(
2226
254k
                std::basic_string_view<detail::char_t<Range>>{
2227
254k
                    val.codepoint.data(), val.codepoint.size()});
2228
254k
            if (pred(cp)) {
2229
2.16k
                return it;
2230
2.16k
            }
2231
254k
        }
2232
253k
        it = val.iterator;
2233
253k
    }
2234
2235
156
    return it;
2236
2.31k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2219
4.55k
{
2220
4.55k
    auto it = range.begin();
2221
9.74k
    while (it != range.end()) {
2222
5.78k
        const auto val =
2223
5.78k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.78k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.78k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.78k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.78k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.78k
            if (pred(cp)) {
2229
586
                return it;
2230
586
            }
2231
5.78k
        }
2232
5.19k
        it = val.iterator;
2233
5.19k
    }
2234
2235
3.96k
    return it;
2236
4.55k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
786
{
2220
786
    auto it = range.begin();
2221
5.36k
    while (it != range.end()) {
2222
5.19k
        const auto val =
2223
5.19k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.19k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.19k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.19k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.19k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.19k
            if (pred(cp)) {
2229
618
                return it;
2230
618
            }
2231
5.19k
        }
2232
4.57k
        it = val.iterator;
2233
4.57k
    }
2234
2235
168
    return it;
2236
786
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
14.4k
{
2220
14.4k
    auto it = range.begin();
2221
47.0k
    while (it != range.end()) {
2222
43.9k
        const auto val =
2223
43.9k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
43.9k
        if (SCN_LIKELY(val.is_valid())) {
2225
43.9k
            const auto cp = detail::decode_code_point_exhaustive(
2226
43.9k
                std::basic_string_view<detail::char_t<Range>>{
2227
43.9k
                    val.codepoint.data(), val.codepoint.size()});
2228
43.9k
            if (pred(cp)) {
2229
11.4k
                return it;
2230
11.4k
            }
2231
43.9k
        }
2232
32.5k
        it = val.iterator;
2233
32.5k
    }
2234
2235
3.03k
    return it;
2236
14.4k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
450
{
2220
450
    auto it = range.begin();
2221
6.80k
    while (it != range.end()) {
2222
6.43k
        const auto val =
2223
6.43k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
6.43k
        if (SCN_LIKELY(val.is_valid())) {
2225
6.43k
            const auto cp = detail::decode_code_point_exhaustive(
2226
6.43k
                std::basic_string_view<detail::char_t<Range>>{
2227
6.43k
                    val.codepoint.data(), val.codepoint.size()});
2228
6.43k
            if (pred(cp)) {
2229
78
                return it;
2230
78
            }
2231
6.43k
        }
2232
6.35k
        it = val.iterator;
2233
6.35k
    }
2234
2235
372
    return it;
2236
450
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
2.23k
{
2220
2.23k
    auto it = range.begin();
2221
3.68k
    while (it != range.end()) {
2222
3.44k
        const auto val =
2223
3.44k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
3.44k
        if (SCN_LIKELY(val.is_valid())) {
2225
3.44k
            const auto cp = detail::decode_code_point_exhaustive(
2226
3.44k
                std::basic_string_view<detail::char_t<Range>>{
2227
3.44k
                    val.codepoint.data(), val.codepoint.size()});
2228
3.44k
            if (pred(cp)) {
2229
1.99k
                return it;
2230
1.99k
            }
2231
3.44k
        }
2232
1.44k
        it = val.iterator;
2233
1.44k
    }
2234
2235
238
    return it;
2236
2.23k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
1.20k
{
2220
1.20k
    auto it = range.begin();
2221
1.80k
    while (it != range.end()) {
2222
1.68k
        const auto val =
2223
1.68k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
1.68k
        if (SCN_LIKELY(val.is_valid())) {
2225
1.68k
            const auto cp = detail::decode_code_point_exhaustive(
2226
1.68k
                std::basic_string_view<detail::char_t<Range>>{
2227
1.68k
                    val.codepoint.data(), val.codepoint.size()});
2228
1.68k
            if (pred(cp)) {
2229
1.08k
                return it;
2230
1.08k
            }
2231
1.68k
        }
2232
598
        it = val.iterator;
2233
598
    }
2234
2235
116
    return it;
2236
1.20k
}
2237
2238
template <typename Range>
2239
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2240
    -> ranges::const_iterator_t<Range>
2241
23.0k
{
2242
23.0k
    return read_until_code_point(range, std::not_fn(pred));
2243
23.0k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
792
{
2242
792
    return read_until_code_point(range, std::not_fn(pred));
2243
792
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
2.10k
{
2242
2.10k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.10k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2241
4.55k
{
2242
4.55k
    return read_until_code_point(range, std::not_fn(pred));
2243
4.55k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
588
{
2242
588
    return read_until_code_point(range, std::not_fn(pred));
2243
588
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
11.5k
{
2242
11.5k
    return read_until_code_point(range, std::not_fn(pred));
2243
11.5k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
2.23k
{
2242
2.23k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.23k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
1.20k
{
2242
1.20k
    return read_until_code_point(range, std::not_fn(pred));
2243
1.20k
}
2244
2245
template <typename Range>
2246
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2247
6.99k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.89k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.89k
        auto buf = make_contiguous_buffer(range);
2252
2.89k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.89k
        return ranges::next(range.begin(),
2254
2.89k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
4.09k
    else {
2257
4.09k
        auto it = range.begin();
2258
2259
4.09k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
972
            auto seg = get_contiguous_beginning(range);
2261
972
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
972
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
972
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
972
        }
2267
2268
0
        return read_until_code_point(
2269
4.09k
            ranges::subrange{it, range.end()},
2270
40.7k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
12.4k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
6.43k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2270
19.9k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2270
1.86k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
4.09k
    }
2272
6.99k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
972
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
972
    else {
2257
972
        auto it = range.begin();
2258
2259
972
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
972
            auto seg = get_contiguous_beginning(range);
2261
972
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
972
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
972
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
972
        }
2267
2268
0
        return read_until_code_point(
2269
972
            ranges::subrange{it, range.end()},
2270
972
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
972
    }
2272
972
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.89k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.89k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.89k
        auto buf = make_contiguous_buffer(range);
2252
2.89k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.89k
        return ranges::next(range.begin(),
2254
2.89k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
    else {
2257
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
        return read_until_code_point(
2269
            ranges::subrange{it, range.end()},
2270
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
    }
2272
2.89k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
450
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
450
    else {
2257
450
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
450
        return read_until_code_point(
2269
450
            ranges::subrange{it, range.end()},
2270
450
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
450
    }
2272
450
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.59k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
2.59k
    else {
2257
2.59k
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
2.59k
        return read_until_code_point(
2269
2.59k
            ranges::subrange{it, range.end()},
2270
2.59k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
2.59k
    }
2272
2.59k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2247
74
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
74
    else {
2257
74
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
74
        return read_until_code_point(
2269
74
            ranges::subrange{it, range.end()},
2270
74
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
74
    }
2272
74
}
2273
2274
template <typename Range>
2275
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2276
42.0k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
21.6k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
21.6k
        auto buf = make_contiguous_buffer(range);
2281
21.6k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
21.6k
        return ranges::next(range.begin(),
2283
21.6k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
20.3k
    else {
2286
20.3k
        auto it = range.begin();
2287
2288
20.3k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.80k
            auto seg = get_contiguous_beginning(range);
2290
2.80k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.80k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.80k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.80k
        }
2296
2297
20.3k
        SCN_UNUSED(it);
2298
30.7k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
30.7k
            return detail::is_cp_space(cp);
2300
30.7k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
1.71k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.71k
            return detail::is_cp_space(cp);
2300
1.71k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2298
5.78k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
5.78k
            return detail::is_cp_space(cp);
2300
5.78k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
898
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
898
            return detail::is_cp_space(cp);
2300
898
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2298
17.2k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
17.2k
            return detail::is_cp_space(cp);
2300
17.2k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
3.44k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
3.44k
            return detail::is_cp_space(cp);
2300
3.44k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
1.68k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.68k
            return detail::is_cp_space(cp);
2300
1.68k
        });
2301
20.3k
    }
2302
42.0k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
564
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
564
    else {
2286
564
        auto it = range.begin();
2287
2288
564
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
564
            auto seg = get_contiguous_beginning(range);
2290
564
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
564
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
564
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
564
        }
2296
2297
564
        SCN_UNUSED(it);
2298
564
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
564
            return detail::is_cp_space(cp);
2300
564
        });
2301
564
    }
2302
564
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
14.2k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
14.2k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
14.2k
        auto buf = make_contiguous_buffer(range);
2281
14.2k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
14.2k
        return ranges::next(range.begin(),
2283
14.2k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
14.2k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
4.55k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
4.55k
    else {
2286
4.55k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
4.55k
        SCN_UNUSED(it);
2298
4.55k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
4.55k
            return detail::is_cp_space(cp);
2300
4.55k
        });
2301
4.55k
    }
2302
4.55k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
444
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
444
    else {
2286
444
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
444
        SCN_UNUSED(it);
2298
444
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
444
            return detail::is_cp_space(cp);
2300
444
        });
2301
444
    }
2302
444
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
11.4k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
11.4k
    else {
2286
11.4k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
11.4k
        SCN_UNUSED(it);
2298
11.4k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
11.4k
            return detail::is_cp_space(cp);
2300
11.4k
        });
2301
11.4k
    }
2302
11.4k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
7.37k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
7.37k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
7.37k
        auto buf = make_contiguous_buffer(range);
2281
7.37k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
7.37k
        return ranges::next(range.begin(),
2283
7.37k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
7.37k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
2.23k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
2.23k
    else {
2286
2.23k
        auto it = range.begin();
2287
2288
2.23k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.23k
            auto seg = get_contiguous_beginning(range);
2290
2.23k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.23k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.23k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.23k
        }
2296
2297
2.23k
        SCN_UNUSED(it);
2298
2.23k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
2.23k
            return detail::is_cp_space(cp);
2300
2.23k
        });
2301
2.23k
    }
2302
2.23k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
1.20k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
1.20k
    else {
2286
1.20k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
1.20k
        SCN_UNUSED(it);
2298
1.20k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.20k
            return detail::is_cp_space(cp);
2300
1.20k
        });
2301
1.20k
    }
2302
1.20k
}
2303
2304
template <typename Range>
2305
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2306
    -> parse_expected<ranges::const_iterator_t<Range>>
2307
4.96k
{
2308
4.96k
    auto it = read_code_unit(range);
2309
4.96k
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
4.95k
    if (SCN_UNLIKELY(*range.begin() !=
2314
4.95k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
4.84k
        return unexpected(parse_error::error);
2316
4.84k
    }
2317
2318
110
    return *it;
2319
4.95k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
40
{
2308
40
    auto it = read_code_unit(range);
2309
40
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
40
    if (SCN_UNLIKELY(*range.begin() !=
2314
40
                     static_cast<detail::char_t<Range>>(ch))) {
2315
40
        return unexpected(parse_error::error);
2316
40
    }
2317
2318
0
    return *it;
2319
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.89k
{
2308
1.89k
    auto it = read_code_unit(range);
2309
1.89k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.89k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.89k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.89k
        return unexpected(parse_error::error);
2316
1.89k
    }
2317
2318
0
    return *it;
2319
1.89k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
90
{
2308
90
    auto it = read_code_unit(range);
2309
90
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
82
    if (SCN_UNLIKELY(*range.begin() !=
2314
82
                     static_cast<detail::char_t<Range>>(ch))) {
2315
64
        return unexpected(parse_error::error);
2316
64
    }
2317
2318
18
    return *it;
2319
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.84k
{
2308
1.84k
    auto it = read_code_unit(range);
2309
1.84k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.84k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.84k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.77k
        return unexpected(parse_error::error);
2316
1.77k
    }
2317
2318
68
    return *it;
2319
1.84k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
720
{
2308
720
    auto it = read_code_unit(range);
2309
720
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
720
    if (SCN_UNLIKELY(*range.begin() !=
2314
720
                     static_cast<detail::char_t<Range>>(ch))) {
2315
720
        return unexpected(parse_error::error);
2316
720
    }
2317
2318
0
    return *it;
2319
720
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
380
{
2308
380
    auto it = read_code_unit(range);
2309
380
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
380
    if (SCN_UNLIKELY(*range.begin() !=
2314
380
                     static_cast<detail::char_t<Range>>(ch))) {
2315
356
        return unexpected(parse_error::error);
2316
356
    }
2317
2318
24
    return *it;
2319
380
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2320
2321
template <typename Range>
2322
auto read_matching_code_point(Range range, char32_t cp)
2323
    -> parse_expected<ranges::const_iterator_t<Range>>
2324
{
2325
    auto val = read_code_point_into(range);
2326
    if (!val.is_valid()) {
2327
        return unexpected(parse_error::error);
2328
    }
2329
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2330
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2331
        return unexpected(parse_error::error);
2332
    }
2333
    return val.iterator;
2334
}
2335
2336
template <typename Range>
2337
auto read_matching_string(Range range,
2338
                          std::basic_string_view<detail::char_t<Range>> str)
2339
    -> parse_expected<ranges::const_iterator_t<Range>>
2340
100
{
2341
100
    SCN_TRY(it, read_exactly_n_code_units(
2342
64
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
64
                    .transform_error(make_eof_parse_error));
2344
2345
64
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
64
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
64
        return unexpected(parse_error::error);
2348
64
    }
2349
0
    return it;
2350
64
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
20
{
2341
20
    SCN_TRY(it, read_exactly_n_code_units(
2342
18
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
18
                    .transform_error(make_eof_parse_error));
2344
2345
18
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
18
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
18
        return unexpected(parse_error::error);
2348
18
    }
2349
0
    return it;
2350
18
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
10
                    .transform_error(make_eof_parse_error));
2344
2345
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
10
        return unexpected(parse_error::error);
2348
10
    }
2349
0
    return it;
2350
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
24
{
2341
24
    SCN_TRY(it, read_exactly_n_code_units(
2342
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
22
                    .transform_error(make_eof_parse_error));
2344
2345
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
22
        return unexpected(parse_error::error);
2348
22
    }
2349
0
    return it;
2350
22
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2351
2352
template <typename Range>
2353
auto read_matching_string_classic(Range range, std::string_view str)
2354
    -> parse_expected<ranges::const_iterator_t<Range>>
2355
4.95k
{
2356
4.95k
    SCN_TRY(it, read_exactly_n_code_units(
2357
4.39k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
4.39k
                    .transform_error(make_eof_parse_error));
2359
2360
4.39k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
2.61k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
2.61k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
2.61k
            return unexpected(parse_error::error);
2364
2.61k
        }
2365
0
        return it;
2366
    }
2367
1.78k
    else {
2368
1.78k
        auto range_it = range.begin();
2369
1.78k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.78k
            if (SCN_UNLIKELY(*range_it !=
2371
1.78k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.78k
                return unexpected(parse_error::error);
2373
1.78k
            }
2374
1.78k
        }
2375
0
        return it;
2376
1.78k
    }
2377
4.39k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
2.03k
{
2356
2.03k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.93k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.93k
                    .transform_error(make_eof_parse_error));
2359
2360
1.93k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
1.93k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
1.93k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
1.93k
            return unexpected(parse_error::error);
2364
1.93k
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
1.93k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
852
{
2356
852
    SCN_TRY(it, read_exactly_n_code_units(
2357
682
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
682
                    .transform_error(make_eof_parse_error));
2359
2360
682
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
682
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
682
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
682
            return unexpected(parse_error::error);
2364
682
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
682
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
1.72k
{
2356
1.72k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.55k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.55k
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
1.55k
    else {
2368
1.55k
        auto range_it = range.begin();
2369
1.55k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.55k
            if (SCN_UNLIKELY(*range_it !=
2371
1.55k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.55k
                return unexpected(parse_error::error);
2373
1.55k
            }
2374
1.55k
        }
2375
0
        return it;
2376
1.55k
    }
2377
1.55k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
340
{
2356
340
    SCN_TRY(it, read_exactly_n_code_units(
2357
230
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
230
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
230
    else {
2368
230
        auto range_it = range.begin();
2369
230
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
230
            if (SCN_UNLIKELY(*range_it !=
2371
230
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
230
                return unexpected(parse_error::error);
2373
230
            }
2374
230
        }
2375
0
        return it;
2376
230
    }
2377
230
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2378
2379
// Ripped from fast_float
2380
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2381
3.72k
{
2382
3.72k
    unsigned char running_diff{0};
2383
13.0k
    for (size_t i = 0; i < len; ++i) {
2384
9.29k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2385
9.29k
    }
2386
3.72k
    return running_diff == 0 || running_diff == 32;
2387
3.72k
}
2388
2389
template <typename Range>
2390
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2391
    -> parse_expected<ranges::const_iterator_t<Range>>
2392
9.95k
{
2393
9.95k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.73k
                  std::is_same_v<char_type, char>) {
2397
3.73k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.72k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.72k
            return unexpected(parse_error::error);
2402
3.72k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
6.21k
    else {
2407
6.21k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
5.93k
            if (ch < 'A' || ch > 'Z') {
2409
5.93k
                return ch;
2410
5.93k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
5.93k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2407
1.25k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.25k
            if (ch < 'A' || ch > 'Z') {
2409
1.25k
                return ch;
2410
1.25k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
1.25k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
714
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
714
            if (ch < 'A' || ch > 'Z') {
2409
714
                return ch;
2410
714
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
714
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
3.96k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.96k
            if (ch < 'A' || ch > 'Z') {
2409
3.96k
                return ch;
2410
3.96k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
3.96k
        };
2414
2415
6.21k
        SCN_TRY(it, read_exactly_n_code_units(
2416
5.71k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
5.71k
                        .transform_error(make_eof_parse_error));
2418
2419
5.71k
        if (SCN_UNLIKELY(!std::equal(
2420
5.71k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
5.71k
                    return ascii_tolower(a) ==
2422
5.71k
                           static_cast<detail::char_t<Range>>(b);
2423
5.71k
                }))) {
2424
5.71k
            return unexpected(parse_error::error);
2425
5.71k
        }
2426
2427
0
        return it;
2428
5.71k
    }
2429
9.95k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
1.51k
{
2393
1.51k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
1.51k
    else {
2407
1.51k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.51k
            if (ch < 'A' || ch > 'Z') {
2409
1.51k
                return ch;
2410
1.51k
            }
2411
1.51k
            return static_cast<char_type>(ch +
2412
1.51k
                                          static_cast<char_type>('a' - 'A'));
2413
1.51k
        };
2414
2415
1.51k
        SCN_TRY(it, read_exactly_n_code_units(
2416
1.25k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
1.25k
                        .transform_error(make_eof_parse_error));
2418
2419
1.25k
        if (SCN_UNLIKELY(!std::equal(
2420
1.25k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
1.25k
                    return ascii_tolower(a) ==
2422
1.25k
                           static_cast<detail::char_t<Range>>(b);
2423
1.25k
                }))) {
2424
1.25k
            return unexpected(parse_error::error);
2425
1.25k
        }
2426
2427
0
        return it;
2428
1.25k
    }
2429
1.51k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.73k
{
2393
3.73k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.73k
                  std::is_same_v<char_type, char>) {
2397
3.73k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.72k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.72k
            return unexpected(parse_error::error);
2402
3.72k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
    else {
2407
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
            if (ch < 'A' || ch > 'Z') {
2409
                return ch;
2410
            }
2411
            return static_cast<char_type>(ch +
2412
                                          static_cast<char_type>('a' - 'A'));
2413
        };
2414
2415
        SCN_TRY(it, read_exactly_n_code_units(
2416
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
                        .transform_error(make_eof_parse_error));
2418
2419
        if (SCN_UNLIKELY(!std::equal(
2420
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
                    return ascii_tolower(a) ==
2422
                           static_cast<detail::char_t<Range>>(b);
2423
                }))) {
2424
            return unexpected(parse_error::error);
2425
        }
2426
2427
        return it;
2428
    }
2429
3.73k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
890
{
2393
890
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
890
    else {
2407
890
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
890
            if (ch < 'A' || ch > 'Z') {
2409
890
                return ch;
2410
890
            }
2411
890
            return static_cast<char_type>(ch +
2412
890
                                          static_cast<char_type>('a' - 'A'));
2413
890
        };
2414
2415
890
        SCN_TRY(it, read_exactly_n_code_units(
2416
660
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
660
                        .transform_error(make_eof_parse_error));
2418
2419
660
        if (SCN_UNLIKELY(!std::equal(
2420
660
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
660
                    return ascii_tolower(a) ==
2422
660
                           static_cast<detail::char_t<Range>>(b);
2423
660
                }))) {
2424
660
            return unexpected(parse_error::error);
2425
660
        }
2426
2427
0
        return it;
2428
660
    }
2429
890
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.81k
{
2393
3.81k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
3.81k
    else {
2407
3.81k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.81k
            if (ch < 'A' || ch > 'Z') {
2409
3.81k
                return ch;
2410
3.81k
            }
2411
3.81k
            return static_cast<char_type>(ch +
2412
3.81k
                                          static_cast<char_type>('a' - 'A'));
2413
3.81k
        };
2414
2415
3.81k
        SCN_TRY(it, read_exactly_n_code_units(
2416
3.80k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
3.80k
                        .transform_error(make_eof_parse_error));
2418
2419
3.80k
        if (SCN_UNLIKELY(!std::equal(
2420
3.80k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
3.80k
                    return ascii_tolower(a) ==
2422
3.80k
                           static_cast<detail::char_t<Range>>(b);
2423
3.80k
                }))) {
2424
3.80k
            return unexpected(parse_error::error);
2425
3.80k
        }
2426
2427
0
        return it;
2428
3.80k
    }
2429
3.81k
}
2430
2431
template <typename Range>
2432
auto read_one_of_code_unit(Range range, std::string_view str)
2433
    -> parse_expected<ranges::const_iterator_t<Range>>
2434
9.58k
{
2435
9.58k
    auto it = read_code_unit(range);
2436
9.58k
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
19.1k
    for (auto ch : str) {
2441
19.1k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
19.1k
    }
2445
2446
9.58k
    return unexpected(parse_error::error);
2447
9.58k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
1.43k
{
2435
1.43k
    auto it = read_code_unit(range);
2436
1.43k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
2.86k
    for (auto ch : str) {
2441
2.86k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
2.86k
    }
2445
2446
1.43k
    return unexpected(parse_error::error);
2447
1.43k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.68k
{
2435
3.68k
    auto it = read_code_unit(range);
2436
3.68k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.36k
    for (auto ch : str) {
2441
7.36k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.36k
    }
2445
2446
3.68k
    return unexpected(parse_error::error);
2447
3.68k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
784
{
2435
784
    auto it = read_code_unit(range);
2436
784
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
1.56k
    for (auto ch : str) {
2441
1.56k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
1.56k
    }
2445
2446
784
    return unexpected(parse_error::error);
2447
784
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.66k
{
2435
3.66k
    auto it = read_code_unit(range);
2436
3.66k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.32k
    for (auto ch : str) {
2441
7.32k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.32k
    }
2445
2446
3.66k
    return unexpected(parse_error::error);
2447
3.66k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2434
20
{
2435
20
    auto it = read_code_unit(range);
2436
20
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
28
    for (auto ch : str) {
2441
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
28
    }
2445
2446
14
    return unexpected(parse_error::error);
2447
14
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2448
2449
template <typename Range, template <class> class Expected, typename Iterator>
2450
auto apply_opt(Expected<Iterator>&& result, Range range)
2451
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2452
                        ranges::const_iterator_t<Range>>
2453
2.47k
{
2454
2.47k
    if (!result) {
2455
2.46k
        return range.begin();
2456
2.46k
    }
2457
12
    return *result;
2458
2.47k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
364
{
2454
364
    if (!result) {
2455
364
        return range.begin();
2456
364
    }
2457
0
    return *result;
2458
364
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
938
{
2454
938
    if (!result) {
2455
938
        return range.begin();
2456
938
    }
2457
0
    return *result;
2458
938
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
224
{
2454
224
    if (!result) {
2455
218
        return range.begin();
2456
218
    }
2457
6
    return *result;
2458
224
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
946
{
2454
946
    if (!result) {
2455
940
        return range.begin();
2456
940
    }
2457
6
    return *result;
2458
946
}
2459
2460
/////////////////////////////////////////////////////////////////
2461
// Text width calculation
2462
/////////////////////////////////////////////////////////////////
2463
2464
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2465
167k
{
2466
167k
    if (cp >= 0x1100 &&
2467
167k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2468
40.6k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2469
40.6k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2470
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2471
40.6k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2472
40.6k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2473
40.6k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2474
40.6k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2475
40.6k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2476
40.6k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2477
40.6k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2478
40.6k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2479
40.6k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2480
         // Miscellaneous Symbols and Pictographs + Emoticons:
2481
40.6k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2482
         // Supplemental Symbols and Pictographs:
2483
40.6k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2484
4.37k
        return 2;
2485
4.37k
    }
2486
162k
    return 1;
2487
167k
}
2488
2489
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2490
106k
{
2491
106k
    return calculate_text_width_for_fmt_v10(cp);
2492
106k
}
2493
2494
template <typename CharT>
2495
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2496
{
2497
    size_t count{0};
2498
    for_each_code_point_valid(input, [&count](char32_t cp) {
2499
        count += calculate_text_width_for_fmt_v10(cp);
2500
    });
2501
    return count;
2502
}
2503
2504
constexpr std::size_t calculate_text_width(char32_t cp)
2505
244
{
2506
244
    return calculate_text_width_for_fmt_v10(cp);
2507
244
}
2508
2509
template <typename CharT>
2510
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2511
44.3k
{
2512
44.3k
    size_t count{0};
2513
59.9k
    for_each_code_point(input, [&count](char32_t cp) {
2514
59.9k
        count += calculate_text_width_for_fmt_v10(cp);
2515
59.9k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
50.8k
    for_each_code_point(input, [&count](char32_t cp) {
2514
50.8k
        count += calculate_text_width_for_fmt_v10(cp);
2515
50.8k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
9.09k
    for_each_code_point(input, [&count](char32_t cp) {
2514
9.09k
        count += calculate_text_width_for_fmt_v10(cp);
2515
9.09k
    });
2516
44.3k
    return count;
2517
44.3k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2511
40.8k
{
2512
40.8k
    size_t count{0};
2513
40.8k
    for_each_code_point(input, [&count](char32_t cp) {
2514
40.8k
        count += calculate_text_width_for_fmt_v10(cp);
2515
40.8k
    });
2516
40.8k
    return count;
2517
40.8k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2511
3.45k
{
2512
3.45k
    size_t count{0};
2513
3.45k
    for_each_code_point(input, [&count](char32_t cp) {
2514
3.45k
        count += calculate_text_width_for_fmt_v10(cp);
2515
3.45k
    });
2516
3.45k
    return count;
2517
3.45k
}
2518
2519
namespace counted_width_iterator_impl {
2520
template <typename It, typename S>
2521
class counted_width_iterator {
2522
    static_assert(ranges::forward_iterator<It>);
2523
    static_assert(ranges::sentinel_for<S, It>);
2524
2525
    template <typename OtherIt, typename OtherS>
2526
    friend class counted_width_iterator;
2527
2528
public:
2529
    using iterator = It;
2530
    using sentinel = S;
2531
    using value_type = ranges::iter_value_t<It>;
2532
    using pointer = value_type*;
2533
    using reference = value_type&;
2534
    using difference_type = ranges::iter_difference_t<It>;
2535
    using iterator_category =
2536
        std::conditional_t<ranges::bidirectional_iterator<It>,
2537
                           std::bidirectional_iterator_tag,
2538
                           std::forward_iterator_tag>;
2539
2540
    constexpr counted_width_iterator() = default;
2541
2542
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2543
48.4k
        : m_current(x), m_end(s), m_count(n)
2544
48.4k
    {
2545
48.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2543
5.72k
        : m_current(x), m_end(s), m_count(n)
2544
5.72k
    {
2545
5.72k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2543
2.91k
        : m_current(x), m_end(s), m_count(n)
2544
2.91k
    {
2545
2.91k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2543
26.1k
        : m_current(x), m_end(s), m_count(n)
2544
26.1k
    {
2545
26.1k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2543
13.7k
        : m_current(x), m_end(s), m_count(n)
2544
13.7k
    {
2545
13.7k
    }
2546
2547
    template <typename OtherIt,
2548
              typename OtherS,
2549
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2550
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2551
    constexpr counted_width_iterator(
2552
        const counted_width_iterator<OtherIt, OtherS>& other)
2553
        : m_current(other.m_current),
2554
          m_end(other.m_end),
2555
          m_count(other.m_count),
2556
          m_multibyte_left(other.m_multibyte_left)
2557
    {
2558
    }
2559
2560
    template <typename OtherIt, typename OtherS>
2561
    constexpr auto operator=(
2562
        const counted_width_iterator<OtherIt, OtherS>& other)
2563
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2564
                                std::is_convertible_v<OtherS, S>,
2565
                            counted_width_iterator&>
2566
    {
2567
        m_current = other.m_current;
2568
        m_end = other.m_end;
2569
        m_count = other.m_count;
2570
        m_multibyte_left = other.m_multibyte_left;
2571
        return *this;
2572
    }
2573
2574
    constexpr It base() const
2575
234k
    {
2576
234k
        return m_current;
2577
234k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2575
157k
    {
2576
157k
        return m_current;
2577
157k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2575
50.0k
    {
2576
50.0k
        return m_current;
2577
50.0k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
20.4k
    {
2576
20.4k
        return m_current;
2577
20.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
6.83k
    {
2576
6.83k
        return m_current;
2577
6.83k
    }
2578
    constexpr difference_type count() const
2579
457k
    {
2580
457k
        return m_count;
2581
457k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2579
308k
    {
2580
308k
        return m_count;
2581
308k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2579
96.2k
    {
2580
96.2k
        return m_count;
2581
96.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
39.7k
    {
2580
39.7k
        return m_count;
2581
39.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
13.0k
    {
2580
13.0k
        return m_count;
2581
13.0k
    }
2582
    constexpr difference_type multibyte_left() const
2583
37.0k
    {
2584
37.0k
        return m_multibyte_left;
2585
37.0k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2583
28.2k
    {
2584
28.2k
        return m_multibyte_left;
2585
28.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2583
4.56k
    {
2584
4.56k
        return m_multibyte_left;
2585
4.56k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
3.33k
    {
2584
3.33k
        return m_multibyte_left;
2585
3.33k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
938
    {
2584
938
        return m_multibyte_left;
2585
938
    }
2586
2587
    bool is_current_double_wide() const
2588
14.7k
    {
2589
14.7k
        assert(count() != 0 || multibyte_left() != 0);
2590
14.7k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
14.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2588
8.75k
    {
2589
8.75k
        assert(count() != 0 || multibyte_left() != 0);
2590
8.75k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
8.75k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2588
3.75k
    {
2589
3.75k
        assert(count() != 0 || multibyte_left() != 0);
2590
3.75k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
3.75k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
1.55k
    {
2589
1.55k
        assert(count() != 0 || multibyte_left() != 0);
2590
1.55k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
1.55k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
672
    {
2589
672
        assert(count() != 0 || multibyte_left() != 0);
2590
672
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
672
    }
2592
2593
    constexpr decltype(auto) operator*()
2594
201k
    {
2595
201k
        return *m_current;
2596
201k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2594
138k
    {
2595
138k
        return *m_current;
2596
138k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2594
46.6k
    {
2595
46.6k
        return *m_current;
2596
46.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
11.5k
    {
2595
11.5k
        return *m_current;
2596
11.5k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
4.15k
    {
2595
4.15k
        return *m_current;
2596
4.15k
    }
2597
    constexpr decltype(auto) operator*() const
2598
20.1k
    {
2599
20.1k
        return *m_current;
2600
20.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2598
14.8k
    {
2599
14.8k
        return *m_current;
2600
14.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2598
5.32k
    {
2599
5.32k
        return *m_current;
2600
5.32k
    }
2601
2602
    constexpr counted_width_iterator& operator++()
2603
217k
    {
2604
217k
        SCN_EXPECT(m_current != m_end);
2605
217k
        _increment_current();
2606
217k
        return *this;
2607
217k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2603
166k
    {
2604
166k
        SCN_EXPECT(m_current != m_end);
2605
166k
        _increment_current();
2606
166k
        return *this;
2607
166k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2603
34.1k
    {
2604
34.1k
        SCN_EXPECT(m_current != m_end);
2605
34.1k
        _increment_current();
2606
34.1k
        return *this;
2607
34.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
15.7k
    {
2604
15.7k
        SCN_EXPECT(m_current != m_end);
2605
15.7k
        _increment_current();
2606
15.7k
        return *this;
2607
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
1.99k
    {
2604
1.99k
        SCN_EXPECT(m_current != m_end);
2605
1.99k
        _increment_current();
2606
1.99k
        return *this;
2607
1.99k
    }
2608
2609
    constexpr counted_width_iterator operator++(int)
2610
    {
2611
        auto tmp = *this;
2612
        ++*this;
2613
        return tmp;
2614
    }
2615
2616
    template <typename Iter = It>
2617
    constexpr auto operator--()
2618
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2619
                            counted_width_iterator&>
2620
0
    {
2621
0
        _decrement_current();
2622
0
        return *this;
2623
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2624
2625
    template <typename Iter = It>
2626
    constexpr auto operator--(int)
2627
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2628
                            counted_width_iterator>
2629
    {
2630
        auto tmp = *this;
2631
        --*this;
2632
        return tmp;
2633
    }
2634
2635
    // TODO: optimize, make better than forward, if possible
2636
#if 0
2637
                template <typename Iter = It>
2638
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2639
                    ranges_std::random_access_iterator<Iter>,
2640
                    counted_width_iterator>
2641
                {
2642
                    // TODO
2643
                    return counted_width_iterator(m_current + n, m_count - n);
2644
                }
2645
2646
                template <typename Iter = It,
2647
                          std::enable_if_t<ranges_std::random_access_iterator<
2648
                              Iter>>* = nullptr>
2649
                friend constexpr counted_width_iterator operator+(
2650
                    ranges_std::iter_difference_t<Iter> n,
2651
                    const counted_width_iterator<Iter>& x)
2652
                {
2653
                    return x + n;
2654
                }
2655
2656
                template <typename Iter = It>
2657
                constexpr auto operator+=(difference_type n)
2658
                    -> std::enable_if_t<
2659
                        ranges_std::random_access_iterator<Iter>,
2660
                        counted_width_iterator&>
2661
                {
2662
                    // TODO
2663
                    m_current += n;
2664
                    m_count -= n;
2665
                    return *this;
2666
                }
2667
2668
                template <typename Iter = It>
2669
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2670
                    ranges_std::random_access_iterator<Iter>,
2671
                    counted_width_iterator>
2672
                {
2673
                    // TODO
2674
                    return counted_width_iterator(m_current - n, m_count + n);
2675
                }
2676
2677
                template <typename Iter = It,
2678
                          std::enable_if_t<ranges_std::random_access_iterator<
2679
                              Iter>>* = nullptr>
2680
                constexpr decltype(auto) operator[](difference_type n) const
2681
                {
2682
                    return m_current[n];
2683
                }
2684
#endif
2685
2686
    template <typename OtherIt, typename OtherS>
2687
    friend constexpr auto operator==(
2688
        const counted_width_iterator& a,
2689
        const counted_width_iterator<OtherIt, OtherS>& b)
2690
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2691
133k
    {
2692
133k
        return a.m_current == b.m_current;
2693
133k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
110k
    {
2692
110k
        return a.m_current == b.m_current;
2693
110k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
13.2k
    {
2692
13.2k
        return a.m_current == b.m_current;
2693
13.2k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
9.70k
    {
2692
9.70k
        return a.m_current == b.m_current;
2693
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2694
    template <typename OtherIt, typename OtherS>
2695
    friend constexpr auto operator!=(
2696
        const counted_width_iterator& a,
2697
        const counted_width_iterator<OtherIt, OtherS>& b)
2698
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2699
119k
    {
2700
119k
        return !(a == b);
2701
119k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
98.1k
    {
2700
98.1k
        return !(a == b);
2701
98.1k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
11.9k
    {
2700
11.9k
        return !(a == b);
2701
11.9k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
9.70k
    {
2700
9.70k
        return !(a == b);
2701
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2702
2703
    friend constexpr bool operator==(const counted_width_iterator& x,
2704
                                     ranges::default_sentinel_t)
2705
    {
2706
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2707
               (x.count() == 1 && x.multibyte_left() == 0 &&
2708
                x.is_current_double_wide());
2709
    }
2710
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2711
                                     const counted_width_iterator& x)
2712
    {
2713
        return x == s;
2714
    }
2715
2716
    friend constexpr bool operator!=(const counted_width_iterator& a,
2717
                                     ranges::default_sentinel_t b)
2718
    {
2719
        return !(a == b);
2720
    }
2721
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2722
                                     const counted_width_iterator& b)
2723
    {
2724
        return !(a == b);
2725
    }
2726
2727
    template <typename OtherIt, typename OtherS>
2728
    friend constexpr auto operator<(
2729
        const counted_width_iterator& a,
2730
        const counted_width_iterator<OtherIt, OtherS>& b)
2731
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2732
    {
2733
        if (a.count() == b.count()) {
2734
            return a.multibyte_left() > b.multibyte_left();
2735
        }
2736
2737
        return a.count() > b.count();
2738
    }
2739
2740
    template <typename OtherIt, typename OtherS>
2741
    friend constexpr auto operator>(
2742
        const counted_width_iterator& a,
2743
        const counted_width_iterator<OtherIt, OtherS>& b)
2744
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2745
    {
2746
        return !(b < a);
2747
    }
2748
2749
    template <typename OtherIt, typename OtherS>
2750
    friend constexpr auto operator<=(
2751
        const counted_width_iterator& a,
2752
        const counted_width_iterator<OtherIt, OtherS>& b)
2753
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2754
    {
2755
        return !(b < a);
2756
    }
2757
2758
    template <typename OtherIt, typename OtherS>
2759
    friend constexpr auto operator>=(
2760
        const counted_width_iterator& a,
2761
        const counted_width_iterator<OtherIt, OtherS>& b)
2762
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2763
    {
2764
        return !(a < b);
2765
    }
2766
2767
#if 0
2768
                template <typename OtherIt, typename OtherS>
2769
                friend constexpr auto operator-(
2770
                    const counted_width_iterator& a,
2771
                    const counted_width_iterator<OtherIt, OtherS>& b)
2772
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2773
                                        ranges_std::iter_difference_t<OtherIt>>
2774
                {
2775
                    // TODO
2776
                }
2777
2778
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2779
                    const counted_width_iterator& x,
2780
                    ranges_std::default_sentinel_t)
2781
                {
2782
                    // TODO
2783
                }
2784
2785
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2786
                    ranges_std::default_sentinel_t,
2787
                    const counted_width_iterator& x)
2788
                {
2789
                    // TODO
2790
                }
2791
#endif
2792
2793
#if 0
2794
                template <typename Iter = It>
2795
                constexpr auto operator-=(difference_type n)
2796
                    -> std::enable_if_t<
2797
                        ranges_std::random_access_iterator<Iter>,
2798
                        counted_width_iterator&>
2799
                {
2800
                    // TODO
2801
                    m_current -= n;
2802
                    m_count += n;
2803
                    return *this;
2804
                }
2805
#endif
2806
2807
private:
2808
    difference_type _get_cp_length_at_current() const
2809
147k
    {
2810
147k
        return static_cast<difference_type>(
2811
147k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
147k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
97.1k
    {
2810
97.1k
        return static_cast<difference_type>(
2811
97.1k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
97.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
37.8k
    {
2810
37.8k
        return static_cast<difference_type>(
2811
37.8k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
37.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
9.91k
    {
2810
9.91k
        return static_cast<difference_type>(
2811
9.91k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
9.91k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
2.66k
    {
2810
2.66k
        return static_cast<difference_type>(
2811
2.66k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
2.66k
    }
2813
2814
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2815
147k
    {
2816
147k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.52k
            return 0;
2818
1.52k
        }
2819
2820
146k
        if (cplen == 1) {
2821
106k
            SCN_EXPECT(m_current != m_end);
2822
106k
            auto cp = static_cast<char32_t>(*m_current);
2823
106k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
106k
        }
2825
2826
39.1k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
39.1k
                                           cplen);
2828
39.1k
        if (SCN_UNLIKELY(!r)) {
2829
432
            return 0;
2830
432
        }
2831
2832
38.6k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
38.6k
        return static_cast<difference_type>(calculate_text_width(
2834
38.6k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
39.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
97.1k
    {
2816
97.1k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.52k
            return 0;
2818
1.52k
        }
2819
2820
95.6k
        if (cplen == 1) {
2821
61.4k
            SCN_EXPECT(m_current != m_end);
2822
61.4k
            auto cp = static_cast<char32_t>(*m_current);
2823
61.4k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
61.4k
        }
2825
2826
34.1k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
34.1k
                                           cplen);
2828
34.1k
        if (SCN_UNLIKELY(!r)) {
2829
432
            return 0;
2830
432
        }
2831
2832
33.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
33.7k
        return static_cast<difference_type>(calculate_text_width(
2834
33.7k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
34.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
37.8k
    {
2816
37.8k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
37.8k
        if (cplen == 1) {
2821
37.8k
            SCN_EXPECT(m_current != m_end);
2822
37.8k
            auto cp = static_cast<char32_t>(*m_current);
2823
37.8k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
37.8k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
9.91k
    {
2816
9.91k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
9.91k
        if (cplen == 1) {
2821
4.94k
            SCN_EXPECT(m_current != m_end);
2822
4.94k
            auto cp = static_cast<char32_t>(*m_current);
2823
4.94k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
4.94k
        }
2825
2826
4.97k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
4.97k
                                           cplen);
2828
4.97k
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
4.97k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
4.97k
        return static_cast<difference_type>(calculate_text_width(
2834
4.97k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
4.97k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
2.66k
    {
2816
2.66k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
2.66k
        if (cplen == 1) {
2821
2.66k
            SCN_EXPECT(m_current != m_end);
2822
2.66k
            auto cp = static_cast<char32_t>(*m_current);
2823
2.66k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
2.66k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
2836
2837
    void _increment_current()
2838
217k
    {
2839
217k
        if (m_multibyte_left == 0) {
2840
132k
            auto cplen = _get_cp_length_at_current();
2841
132k
            m_multibyte_left = cplen - 1;
2842
132k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
132k
        }
2844
85.0k
        else {
2845
85.0k
            --m_multibyte_left;
2846
85.0k
        }
2847
2848
217k
        ++m_current;
2849
217k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2838
166k
    {
2839
166k
        if (m_multibyte_left == 0) {
2840
88.3k
            auto cplen = _get_cp_length_at_current();
2841
88.3k
            m_multibyte_left = cplen - 1;
2842
88.3k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
88.3k
        }
2844
77.6k
        else {
2845
77.6k
            --m_multibyte_left;
2846
77.6k
        }
2847
2848
166k
        ++m_current;
2849
166k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2838
34.1k
    {
2839
34.1k
        if (m_multibyte_left == 0) {
2840
34.1k
            auto cplen = _get_cp_length_at_current();
2841
34.1k
            m_multibyte_left = cplen - 1;
2842
34.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
34.1k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
34.1k
        ++m_current;
2849
34.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
15.7k
    {
2839
15.7k
        if (m_multibyte_left == 0) {
2840
8.36k
            auto cplen = _get_cp_length_at_current();
2841
8.36k
            m_multibyte_left = cplen - 1;
2842
8.36k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
8.36k
        }
2844
7.38k
        else {
2845
7.38k
            --m_multibyte_left;
2846
7.38k
        }
2847
2848
15.7k
        ++m_current;
2849
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
1.99k
    {
2839
1.99k
        if (m_multibyte_left == 0) {
2840
1.99k
            auto cplen = _get_cp_length_at_current();
2841
1.99k
            m_multibyte_left = cplen - 1;
2842
1.99k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
1.99k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
1.99k
        ++m_current;
2849
1.99k
    }
2850
2851
    void _decrement_current()
2852
0
    {
2853
0
        --m_current;
2854
2855
0
        auto cplen = _get_cp_length_at_current();
2856
0
        if (cplen == 0) {
2857
0
            ++m_multibyte_left;
2858
0
        }
2859
0
        else {
2860
0
            m_count += _get_width_at_current_cp_start(cplen);
2861
0
            m_multibyte_left = cplen - 1;
2862
0
        }
2863
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2864
2865
    It m_current{};
2866
    S m_end{};
2867
    difference_type m_count{0};
2868
    difference_type m_multibyte_left{0};
2869
};
2870
2871
template <typename I, typename S>
2872
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2873
    -> counted_width_iterator<I, S>;
2874
}  // namespace counted_width_iterator_impl
2875
2876
using counted_width_iterator_impl::counted_width_iterator;
2877
2878
template <typename View, typename = void>
2879
struct take_width_view_storage;
2880
2881
template <typename View>
2882
struct take_width_view_storage<View,
2883
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2884
21.3k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2884
10.7k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2884
5.46k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2884
3.49k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2884
1.71k
    take_width_view_storage(const View& v) : view(v) {}
2885
2886
    const View& get() const
2887
214k
    {
2888
214k
        return view;
2889
214k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2887
123k
    {
2888
123k
        return view;
2889
123k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2887
56.1k
    {
2888
56.1k
        return view;
2889
56.1k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2887
24.2k
    {
2888
24.2k
        return view;
2889
24.2k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2887
11.3k
    {
2888
11.3k
        return view;
2889
11.3k
    }
2890
2891
    View view;
2892
};
2893
2894
template <typename View>
2895
struct take_width_view_storage<
2896
    View,
2897
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2898
    take_width_view_storage(const View& v) : view(&v) {}
2899
2900
    const View& get() const
2901
    {
2902
        return *view;
2903
    }
2904
2905
    const View* view;
2906
};
2907
2908
template <typename View>
2909
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2910
    template <bool IsConst>
2911
    class sentinel {
2912
        friend class sentinel<!IsConst>;
2913
        using Base = std::conditional_t<IsConst, const View, View>;
2914
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2915
                                           ranges::sentinel_t<Base>>;
2916
        using underlying = ranges::sentinel_t<Base>;
2917
2918
    public:
2919
        constexpr sentinel() = default;
2920
2921
118k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2921
12.7k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2921
5.50k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2921
71.0k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2921
28.6k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2922
2923
        template <
2924
            typename S,
2925
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2926
            bool C = IsConst,
2927
            typename VV = View,
2928
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2929
                                                        underlying>>* = nullptr>
2930
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2931
        {
2932
        }
2933
2934
        constexpr underlying base() const
2935
        {
2936
            return m_end;
2937
        }
2938
2939
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2940
219k
        {
2941
219k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
219k
                   y.base() == x.m_end ||
2943
219k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
214k
                    y.is_current_double_wide());
2945
219k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2940
149k
        {
2941
149k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
149k
                   y.base() == x.m_end ||
2943
149k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
147k
                    y.is_current_double_wide());
2945
149k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2940
45.9k
        {
2941
45.9k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
45.9k
                   y.base() == x.m_end ||
2943
45.9k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
44.7k
                    y.is_current_double_wide());
2945
45.9k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2940
17.8k
        {
2941
17.8k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
17.8k
                   y.base() == x.m_end ||
2943
17.8k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
17.1k
                    y.is_current_double_wide());
2945
17.8k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2940
5.50k
        {
2941
5.50k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
5.50k
                   y.base() == x.m_end ||
2943
5.50k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
5.23k
                    y.is_current_double_wide());
2945
5.50k
        }
2946
2947
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2948
        {
2949
            return y == x;
2950
        }
2951
2952
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2953
110k
        {
2954
110k
            return !(y == x);
2955
110k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2953
76.1k
        {
2954
76.1k
            return !(y == x);
2955
76.1k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2953
23.4k
        {
2954
23.4k
            return !(y == x);
2955
23.4k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2953
8.21k
        {
2954
8.21k
            return !(y == x);
2955
8.21k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2953
2.61k
        {
2954
2.61k
            return !(y == x);
2955
2.61k
        }
2956
2957
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2958
        {
2959
            return !(y == x);
2960
        }
2961
2962
    private:
2963
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2964
    };
2965
2966
public:
2967
    using value_type = ranges::range_value_t<View>;
2968
2969
    take_width_view() = default;
2970
2971
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2972
21.3k
        : m_base(base), m_count(count)
2973
21.3k
    {
2974
21.3k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2972
10.7k
        : m_base(base), m_count(count)
2973
10.7k
    {
2974
10.7k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2972
5.46k
        : m_base(base), m_count(count)
2973
5.46k
    {
2974
5.46k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2972
3.49k
        : m_base(base), m_count(count)
2973
3.49k
    {
2974
3.49k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2972
1.71k
        : m_base(base), m_count(count)
2973
1.71k
    {
2974
1.71k
    }
2975
2976
    constexpr View base() const
2977
    {
2978
        return m_base;
2979
    }
2980
2981
    constexpr auto begin() const
2982
48.4k
    {
2983
48.4k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
48.4k
                                      m_count};
2985
48.4k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2982
26.1k
    {
2983
26.1k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
26.1k
                                      m_count};
2985
26.1k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2982
13.7k
    {
2983
13.7k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
13.7k
                                      m_count};
2985
13.7k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2982
5.72k
    {
2983
5.72k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
5.72k
                                      m_count};
2985
5.72k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2982
2.91k
    {
2983
2.91k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
2.91k
                                      m_count};
2985
2.91k
    }
2986
2987
    constexpr auto end() const
2988
118k
    {
2989
118k
        return sentinel<true>{m_base.get().end()};
2990
118k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2988
71.0k
    {
2989
71.0k
        return sentinel<true>{m_base.get().end()};
2990
71.0k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2988
28.6k
    {
2989
28.6k
        return sentinel<true>{m_base.get().end()};
2990
28.6k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2988
12.7k
    {
2989
12.7k
        return sentinel<true>{m_base.get().end()};
2990
12.7k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2988
5.50k
    {
2989
5.50k
        return sentinel<true>{m_base.get().end()};
2990
5.50k
    }
2991
2992
private:
2993
    take_width_view_storage<View> m_base{};
2994
    std::ptrdiff_t m_count{0};
2995
};
2996
2997
template <typename R>
2998
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2999
3000
struct _take_width_fn {
3001
    template <typename R>
3002
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
3003
        -> decltype(take_width_view{r, n})
3004
21.3k
    {
3005
21.3k
        return take_width_view{r, n};
3006
21.3k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
3004
10.7k
    {
3005
10.7k
        return take_width_view{r, n};
3006
10.7k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
3004
5.46k
    {
3005
5.46k
        return take_width_view{r, n};
3006
5.46k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
3004
3.49k
    {
3005
3.49k
        return take_width_view{r, n};
3006
3.49k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
3004
1.71k
    {
3005
1.71k
        return take_width_view{r, n};
3006
1.71k
    }
3007
};
3008
3009
inline constexpr _take_width_fn take_width{};
3010
}  // namespace impl
3011
3012
namespace ranges {
3013
template <typename R>
3014
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
3015
    enable_borrowed_range<R>;
3016
}
3017
3018
/////////////////////////////////////////////////////////////////
3019
// contiguous_scan_context
3020
/////////////////////////////////////////////////////////////////
3021
3022
template <typename CharT>
3023
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
3024
    : public detail::scan_context_base<basic_scan_args<
3025
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
3026
    using base = detail::scan_context_base<
3027
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
3028
3029
    using parent_context_type =
3030
        basic_scan_context<detail::buffer_range_tag, CharT>;
3031
    using args_type = basic_scan_args<parent_context_type>;
3032
    using arg_type = basic_scan_arg<parent_context_type>;
3033
3034
public:
3035
    using char_type = CharT;
3036
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3037
    using iterator = const char_type*;
3038
    using sentinel = const char_type*;
3039
    using parse_context_type = basic_scan_parse_context<char_type>;
3040
3041
    template <typename Range,
3042
              std::enable_if_t<ranges::contiguous_range<Range> &&
3043
                               ranges::borrowed_range<Range>>* = nullptr>
3044
    constexpr basic_scan_context(Range&& r,
3045
                                 args_type a,
3046
                                 detail::locale_ref loc = {})
3047
150k
        : base(SCN_MOVE(a), loc),
3048
150k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
150k
          m_current(m_range.begin())
3050
150k
    {
3051
150k
    }
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3047
50.0k
        : base(SCN_MOVE(a), loc),
3048
50.0k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
50.0k
          m_current(m_range.begin())
3050
50.0k
    {
3051
50.0k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3047
100k
        : base(SCN_MOVE(a), loc),
3048
100k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
100k
          m_current(m_range.begin())
3050
100k
    {
3051
100k
    }
3052
3053
    constexpr iterator begin() const
3054
364k
    {
3055
364k
        return m_current;
3056
364k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3054
119k
    {
3055
119k
        return m_current;
3056
119k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3054
244k
    {
3055
244k
        return m_current;
3056
244k
    }
3057
3058
    constexpr sentinel end() const
3059
337k
    {
3060
337k
        return m_range.end();
3061
337k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3059
101k
    {
3060
101k
        return m_range.end();
3061
101k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3059
236k
    {
3060
236k
        return m_range.end();
3061
236k
    }
3062
3063
    constexpr auto range() const
3064
54.9k
    {
3065
54.9k
        return ranges::subrange{begin(), end()};
3066
54.9k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3064
34.4k
    {
3065
34.4k
        return ranges::subrange{begin(), end()};
3066
34.4k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3064
20.5k
    {
3065
20.5k
        return ranges::subrange{begin(), end()};
3066
20.5k
    }
3067
3068
    constexpr auto underlying_range() const
3069
0
    {
3070
0
        return m_range;
3071
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
3072
3073
    void advance_to(iterator it)
3074
127k
    {
3075
127k
        SCN_EXPECT(it <= end());
3076
127k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
127k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
127k
        }
3081
127k
        m_current = SCN_MOVE(it);
3082
127k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3074
34.2k
    {
3075
34.2k
        SCN_EXPECT(it <= end());
3076
34.2k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
34.2k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
34.2k
        }
3081
34.2k
        m_current = SCN_MOVE(it);
3082
34.2k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3074
93.5k
    {
3075
93.5k
        SCN_EXPECT(it <= end());
3076
93.5k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
93.5k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
93.5k
        }
3081
93.5k
        m_current = SCN_MOVE(it);
3082
93.5k
    }
3083
3084
    void advance_to(const typename parent_context_type::iterator& it)
3085
0
    {
3086
0
        SCN_EXPECT(it.position() <=
3087
0
                   static_cast<std::ptrdiff_t>(m_range.size()));
3088
0
        m_current = m_range.begin() + it.position();
3089
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
3090
3091
    std::ptrdiff_t begin_position()
3092
0
    {
3093
0
        return ranges::distance(m_range.begin(), begin());
3094
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
3095
3096
private:
3097
    range_type m_range;
3098
    iterator m_current;
3099
};
3100
3101
namespace impl {
3102
template <typename CharT>
3103
using basic_contiguous_scan_context =
3104
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3105
3106
struct reader_error_handler {
3107
    constexpr void on_error(const char* msg)
3108
14.7k
    {
3109
14.7k
        SCN_UNLIKELY_ATTR
3110
14.7k
        m_msg = msg;
3111
14.7k
    }
3112
    explicit constexpr operator bool() const
3113
32.5k
    {
3114
32.5k
        return m_msg == nullptr;
3115
32.5k
    }
3116
3117
    const char* m_msg{nullptr};
3118
};
3119
3120
/////////////////////////////////////////////////////////////////
3121
// General reading support
3122
/////////////////////////////////////////////////////////////////
3123
3124
template <typename SourceRange>
3125
auto skip_classic_whitespace(const SourceRange& range,
3126
                             bool allow_exhaustion = false)
3127
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3128
18.1k
{
3129
18.1k
    if (!allow_exhaustion) {
3130
16.6k
        auto it = read_while_classic_space(range);
3131
16.6k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
16.6k
            SCN_UNLIKELY(!e)) {
3133
354
            return unexpected(e);
3134
354
        }
3135
3136
16.2k
        return it;
3137
16.6k
    }
3138
3139
1.56k
    return read_while_classic_space(range);
3140
18.1k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
564
{
3129
564
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
564
    return read_while_classic_space(range);
3140
564
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.89k
{
3129
6.89k
    if (!allow_exhaustion) {
3130
6.74k
        auto it = read_while_classic_space(range);
3131
6.74k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.74k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.74k
        return it;
3137
6.74k
    }
3138
3139
158
    return read_while_classic_space(range);
3140
6.89k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
444
{
3129
444
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
444
    return read_while_classic_space(range);
3140
444
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.85k
{
3129
6.85k
    if (!allow_exhaustion) {
3130
6.45k
        auto it = read_while_classic_space(range);
3131
6.45k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.45k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.45k
        return it;
3137
6.45k
    }
3138
3139
394
    return read_while_classic_space(range);
3140
6.85k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
2.23k
{
3129
2.23k
    if (!allow_exhaustion) {
3130
2.23k
        auto it = read_while_classic_space(range);
3131
2.23k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
2.23k
            SCN_UNLIKELY(!e)) {
3133
238
            return unexpected(e);
3134
238
        }
3135
3136
1.99k
        return it;
3137
2.23k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
2.23k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
1.20k
{
3129
1.20k
    if (!allow_exhaustion) {
3130
1.20k
        auto it = read_while_classic_space(range);
3131
1.20k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
1.20k
            SCN_UNLIKELY(!e)) {
3133
116
            return unexpected(e);
3134
116
        }
3135
3136
1.08k
        return it;
3137
1.20k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
1.20k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3141
3142
template <typename SourceCharT, typename DestCharT>
3143
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3144
                                   std::basic_string<DestCharT>& dst)
3145
2.75k
{
3146
2.75k
    dst.clear();
3147
2.75k
    transcode_valid_to_string(src, dst);
3148
2.75k
    return {};
3149
2.75k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3145
1.61k
{
3146
1.61k
    dst.clear();
3147
1.61k
    transcode_valid_to_string(src, dst);
3148
1.61k
    return {};
3149
1.61k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3145
1.14k
{
3146
1.14k
    dst.clear();
3147
1.14k
    transcode_valid_to_string(src, dst);
3148
1.14k
    return {};
3149
1.14k
}
3150
3151
template <typename SourceCharT, typename DestCharT>
3152
scan_expected<void> transcode_if_necessary(
3153
    const contiguous_range_factory<SourceCharT>& source,
3154
    std::basic_string<DestCharT>& dest)
3155
{
3156
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3157
        dest.assign(source.view());
3158
    }
3159
    else {
3160
        return transcode_impl(source.view(), dest);
3161
    }
3162
3163
    return {};
3164
}
3165
3166
template <typename SourceCharT, typename DestCharT>
3167
scan_expected<void> transcode_if_necessary(
3168
    contiguous_range_factory<SourceCharT>&& source,
3169
    std::basic_string<DestCharT>& dest)
3170
1.55k
{
3171
1.55k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
776
        if (source.stores_allocated_string()) {
3173
776
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
776
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
776
    else {
3180
776
        return transcode_impl(source.view(), dest);
3181
776
    }
3182
3183
0
    return {};
3184
1.55k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
474
{
3171
474
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
474
        if (source.stores_allocated_string()) {
3173
474
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
474
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
474
    return {};
3184
474
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
474
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
474
    else {
3180
474
        return transcode_impl(source.view(), dest);
3181
474
    }
3182
3183
0
    return {};
3184
474
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
302
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
302
    else {
3180
302
        return transcode_impl(source.view(), dest);
3181
302
    }
3182
3183
0
    return {};
3184
302
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
302
{
3171
302
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
302
        if (source.stores_allocated_string()) {
3173
302
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
302
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
302
    return {};
3184
302
}
3185
3186
template <typename SourceCharT, typename DestCharT>
3187
scan_expected<void> transcode_if_necessary(
3188
    string_view_wrapper<SourceCharT> source,
3189
    std::basic_string<DestCharT>& dest)
3190
3.96k
{
3191
3.96k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.98k
        dest.assign(source.view());
3193
    }
3194
1.98k
    else {
3195
1.98k
        return transcode_impl(source.view(), dest);
3196
1.98k
    }
3197
3198
0
    return {};
3199
3.96k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
1.13k
{
3191
1.13k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.13k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
1.13k
    return {};
3199
1.13k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
1.13k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
1.13k
    else {
3195
1.13k
        return transcode_impl(source.view(), dest);
3196
1.13k
    }
3197
3198
0
    return {};
3199
1.13k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
844
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
844
    else {
3195
844
        return transcode_impl(source.view(), dest);
3196
844
    }
3197
3198
0
    return {};
3199
844
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
844
{
3191
844
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
844
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
844
    return {};
3199
844
}
3200
3201
/////////////////////////////////////////////////////////////////
3202
// Reader base classes etc.
3203
/////////////////////////////////////////////////////////////////
3204
3205
template <typename Derived, typename CharT>
3206
class reader_base {
3207
public:
3208
    using char_type = CharT;
3209
3210
    constexpr reader_base() = default;
3211
3212
    bool skip_ws_before_read() const
3213
10.5k
    {
3214
10.5k
        return true;
3215
10.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
2.63k
    {
3214
2.63k
        return true;
3215
2.63k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.33k
    {
3214
1.33k
        return true;
3215
1.33k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
2.43k
    {
3214
2.43k
        return true;
3215
2.43k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.23k
    {
3214
1.23k
        return true;
3215
1.23k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.57k
    {
3214
1.57k
        return true;
3215
1.57k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.32k
    {
3214
1.32k
        return true;
3215
1.32k
    }
3216
3217
    scan_expected<void> check_specs(const detail::format_specs& specs)
3218
25.4k
    {
3219
25.4k
        reader_error_handler eh{};
3220
25.4k
        get_derived().check_specs_impl(specs, eh);
3221
25.4k
        if (SCN_UNLIKELY(!eh)) {
3222
10.0k
            return detail::unexpected_scan_error(
3223
10.0k
                scan_error::invalid_format_string, eh.m_msg);
3224
10.0k
        }
3225
15.3k
        return {};
3226
25.4k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
4.76k
    {
3219
4.76k
        reader_error_handler eh{};
3220
4.76k
        get_derived().check_specs_impl(specs, eh);
3221
4.76k
        if (SCN_UNLIKELY(!eh)) {
3222
3.38k
            return detail::unexpected_scan_error(
3223
3.38k
                scan_error::invalid_format_string, eh.m_msg);
3224
3.38k
        }
3225
1.37k
        return {};
3226
4.76k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.38k
    {
3219
2.38k
        reader_error_handler eh{};
3220
2.38k
        get_derived().check_specs_impl(specs, eh);
3221
2.38k
        if (SCN_UNLIKELY(!eh)) {
3222
1.67k
            return detail::unexpected_scan_error(
3223
1.67k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.67k
        }
3225
702
        return {};
3226
2.38k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
7.02k
    {
3219
7.02k
        reader_error_handler eh{};
3220
7.02k
        get_derived().check_specs_impl(specs, eh);
3221
7.02k
        if (SCN_UNLIKELY(!eh)) {
3222
438
            return detail::unexpected_scan_error(
3223
438
                scan_error::invalid_format_string, eh.m_msg);
3224
438
        }
3225
6.58k
        return {};
3226
7.02k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.59k
    {
3219
2.59k
        reader_error_handler eh{};
3220
2.59k
        get_derived().check_specs_impl(specs, eh);
3221
2.59k
        if (SCN_UNLIKELY(!eh)) {
3222
1.28k
            return detail::unexpected_scan_error(
3223
1.28k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.28k
        }
3225
1.31k
        return {};
3226
2.59k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.29k
    {
3219
1.29k
        reader_error_handler eh{};
3220
1.29k
        get_derived().check_specs_impl(specs, eh);
3221
1.29k
        if (SCN_UNLIKELY(!eh)) {
3222
644
            return detail::unexpected_scan_error(
3223
644
                scan_error::invalid_format_string, eh.m_msg);
3224
644
        }
3225
652
        return {};
3226
1.29k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
3.70k
    {
3219
3.70k
        reader_error_handler eh{};
3220
3.70k
        get_derived().check_specs_impl(specs, eh);
3221
3.70k
        if (SCN_UNLIKELY(!eh)) {
3222
648
            return detail::unexpected_scan_error(
3223
648
                scan_error::invalid_format_string, eh.m_msg);
3224
648
        }
3225
3.05k
        return {};
3226
3.70k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.38k
    {
3219
2.38k
        reader_error_handler eh{};
3220
2.38k
        get_derived().check_specs_impl(specs, eh);
3221
2.38k
        if (SCN_UNLIKELY(!eh)) {
3222
1.43k
            return detail::unexpected_scan_error(
3223
1.43k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.43k
        }
3225
948
        return {};
3226
2.38k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.29k
    {
3219
1.29k
        reader_error_handler eh{};
3220
1.29k
        get_derived().check_specs_impl(specs, eh);
3221
1.29k
        if (SCN_UNLIKELY(!eh)) {
3222
536
            return detail::unexpected_scan_error(
3223
536
                scan_error::invalid_format_string, eh.m_msg);
3224
536
        }
3225
760
        return {};
3226
1.29k
    }
3227
3228
private:
3229
    Derived& get_derived()
3230
25.4k
    {
3231
25.4k
        return static_cast<Derived&>(*this);
3232
25.4k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3230
4.76k
    {
3231
4.76k
        return static_cast<Derived&>(*this);
3232
4.76k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3230
2.38k
    {
3231
2.38k
        return static_cast<Derived&>(*this);
3232
2.38k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3230
7.02k
    {
3231
7.02k
        return static_cast<Derived&>(*this);
3232
7.02k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
2.59k
    {
3231
2.59k
        return static_cast<Derived&>(*this);
3232
2.59k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.29k
    {
3231
1.29k
        return static_cast<Derived&>(*this);
3232
1.29k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
3.70k
    {
3231
3.70k
        return static_cast<Derived&>(*this);
3232
3.70k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3230
2.38k
    {
3231
2.38k
        return static_cast<Derived&>(*this);
3232
2.38k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.29k
    {
3231
1.29k
        return static_cast<Derived&>(*this);
3232
1.29k
    }
3233
    const Derived& get_derived() const
3234
    {
3235
        return static_cast<const Derived&>(*this);
3236
    }
3237
};
3238
3239
template <typename CharT>
3240
class reader_impl_for_monostate {
3241
public:
3242
    constexpr reader_impl_for_monostate() = default;
3243
3244
    bool skip_ws_before_read() const
3245
0
    {
3246
0
        return true;
3247
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3248
3249
    static scan_expected<void> check_specs(const detail::format_specs&)
3250
0
    {
3251
0
        SCN_EXPECT(false);
3252
0
        SCN_UNREACHABLE;
3253
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3254
3255
    template <typename Range>
3256
    auto read_default(Range, monostate&, detail::locale_ref)
3257
        -> scan_expected<ranges::const_iterator_t<Range>>
3258
0
    {
3259
0
        SCN_EXPECT(false);
3260
0
        SCN_UNREACHABLE;
3261
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3262
3263
    template <typename Range>
3264
    auto read_specs(Range,
3265
                    const detail::format_specs&,
3266
                    monostate&,
3267
                    detail::locale_ref)
3268
        -> scan_expected<ranges::const_iterator_t<Range>>
3269
0
    {
3270
0
        SCN_EXPECT(false);
3271
0
        SCN_UNREACHABLE;
3272
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3273
};
3274
3275
/////////////////////////////////////////////////////////////////
3276
// Numeric reader support
3277
/////////////////////////////////////////////////////////////////
3278
3279
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3280
3281
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3282
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3283
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3284
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3285
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3286
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3287
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3288
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3289
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3290
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3291
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3292
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3293
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3294
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3295
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3296
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3297
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3298
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3299
    255};
3300
3301
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3302
16.9k
{
3303
16.9k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3304
16.9k
}
3305
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3306
8.05k
{
3307
8.05k
#if WCHAR_MIN < 0
3308
8.05k
    if (ch >= 0 && ch <= 255) {
3309
#else
3310
    if (ch <= 255) {
3311
#endif
3312
7.95k
        return char_to_int(static_cast<char>(ch));
3313
7.95k
    }
3314
102
    return 255;
3315
8.05k
}
3316
3317
template <typename Range>
3318
auto parse_numeric_sign(Range range)
3319
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3320
9.56k
{
3321
9.56k
    auto r = read_one_of_code_unit(range, "+-");
3322
9.56k
    if (!r) {
3323
9.56k
        if (r.error() == parse_error::error) {
3324
9.56k
            return std::pair{range.begin(), sign_type::default_sign};
3325
9.56k
        }
3326
0
        return unexpected(eof_error::eof);
3327
9.56k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
1.43k
{
3321
1.43k
    auto r = read_one_of_code_unit(range, "+-");
3322
1.43k
    if (!r) {
3323
1.43k
        if (r.error() == parse_error::error) {
3324
1.43k
            return std::pair{range.begin(), sign_type::default_sign};
3325
1.43k
        }
3326
0
        return unexpected(eof_error::eof);
3327
1.43k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.68k
{
3321
3.68k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.68k
    if (!r) {
3323
3.68k
        if (r.error() == parse_error::error) {
3324
3.68k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.68k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.68k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
784
{
3321
784
    auto r = read_one_of_code_unit(range, "+-");
3322
784
    if (!r) {
3323
784
        if (r.error() == parse_error::error) {
3324
784
            return std::pair{range.begin(), sign_type::default_sign};
3325
784
        }
3326
0
        return unexpected(eof_error::eof);
3327
784
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.66k
{
3321
3.66k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.66k
    if (!r) {
3323
3.66k
        if (r.error() == parse_error::error) {
3324
3.66k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.66k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.66k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3335
3336
template <typename CharT>
3337
class numeric_reader {
3338
public:
3339
    contiguous_range_factory<CharT> m_buffer{};
3340
};
3341
3342
/////////////////////////////////////////////////////////////////
3343
// Integer reader
3344
/////////////////////////////////////////////////////////////////
3345
3346
template <typename Iterator>
3347
struct parse_integer_prefix_result {
3348
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3349
    int parsed_base{0};
3350
    sign_type sign{sign_type::default_sign};
3351
    bool is_zero{false};
3352
};
3353
3354
template <typename Range>
3355
auto parse_integer_bin_base_prefix(Range range)
3356
    -> parse_expected<ranges::const_iterator_t<Range>>
3357
218
{
3358
218
    return read_matching_string_classic_nocase(range, "0b");
3359
218
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
40
{
3358
40
    return read_matching_string_classic_nocase(range, "0b");
3359
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
22
{
3358
22
    return read_matching_string_classic_nocase(range, "0b");
3359
22
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
64
{
3358
64
    return read_matching_string_classic_nocase(range, "0b");
3359
64
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
92
{
3358
92
    return read_matching_string_classic_nocase(range, "0b");
3359
92
}
3360
3361
template <typename Range>
3362
auto parse_integer_hex_base_prefix(Range range)
3363
    -> parse_expected<ranges::const_iterator_t<Range>>
3364
2.39k
{
3365
2.39k
    return read_matching_string_classic_nocase(range, "0x");
3366
2.39k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
362
{
3365
362
    return read_matching_string_classic_nocase(range, "0x");
3366
362
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
922
{
3365
922
    return read_matching_string_classic_nocase(range, "0x");
3366
922
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
206
{
3365
206
    return read_matching_string_classic_nocase(range, "0x");
3366
206
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
902
{
3365
902
    return read_matching_string_classic_nocase(range, "0x");
3366
902
}
3367
3368
template <typename Range>
3369
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3370
    -> parse_expected<ranges::const_iterator_t<Range>>
3371
198
{
3372
198
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
198
    if (auto r = read_matching_code_unit(range, '0')) {
3377
34
        zero_parsed = true;
3378
34
        return *r;
3379
34
    }
3380
3381
164
    return unexpected(parse_error::error);
3382
198
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
40
{
3372
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
40
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
40
    return unexpected(parse_error::error);
3382
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
42
{
3372
42
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
42
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
42
    return unexpected(parse_error::error);
3382
42
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
68
{
3372
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
68
    if (auto r = read_matching_code_unit(range, '0')) {
3377
18
        zero_parsed = true;
3378
18
        return *r;
3379
18
    }
3380
3381
50
    return unexpected(parse_error::error);
3382
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
48
{
3372
48
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
48
    if (auto r = read_matching_code_unit(range, '0')) {
3377
16
        zero_parsed = true;
3378
16
        return *r;
3379
16
    }
3380
3381
32
    return unexpected(parse_error::error);
3382
48
}
3383
3384
template <typename Range>
3385
auto parse_integer_base_prefix_for_detection(Range range)
3386
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3387
112
{
3388
112
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
112
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
112
    {
3395
112
        bool zero_parsed{false};
3396
112
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
22
            return {*r, 8, zero_parsed};
3398
22
        }
3399
112
    }
3400
90
    return {range.begin(), 10, false};
3401
112
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
26
{
3388
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
26
    {
3395
26
        bool zero_parsed{false};
3396
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
26
    }
3400
26
    return {range.begin(), 10, false};
3401
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
16
{
3388
16
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
16
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
16
    {
3395
16
        bool zero_parsed{false};
3396
16
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
16
    }
3400
16
    return {range.begin(), 10, false};
3401
16
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
38
{
3388
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
38
    {
3395
38
        bool zero_parsed{false};
3396
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
12
            return {*r, 8, zero_parsed};
3398
12
        }
3399
38
    }
3400
26
    return {range.begin(), 10, false};
3401
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
32
{
3388
32
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
32
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
32
    {
3395
32
        bool zero_parsed{false};
3396
32
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
10
            return {*r, 8, zero_parsed};
3398
10
        }
3399
32
    }
3400
22
    return {range.begin(), 10, false};
3401
32
}
3402
3403
template <typename Range>
3404
auto parse_integer_base_prefix(Range range, int base)
3405
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3406
7.15k
{
3407
7.15k
    switch (base) {
3408
106
        case 2:
3409
            // allow 0b/0B
3410
106
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
106
                    false};
3412
3413
86
        case 8: {
3414
            // allow 0o/0O/0
3415
86
            bool zero_parsed = false;
3416
86
            auto it = apply_opt(
3417
86
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
86
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
2.28k
        case 16:
3422
            // allow 0x/0X
3423
2.28k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
2.28k
                    false};
3425
3426
112
        case 0:
3427
            // detect base
3428
112
            return parse_integer_base_prefix_for_detection(range);
3429
3430
4.57k
        default:
3431
            // no base prefix allowed
3432
4.57k
            return {range.begin(), base, false};
3433
7.15k
    }
3434
7.15k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
1.06k
{
3407
1.06k
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
14
        case 8: {
3414
            // allow 0o/0O/0
3415
14
            bool zero_parsed = false;
3416
14
            auto it = apply_opt(
3417
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
14
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
336
        case 16:
3422
            // allow 0x/0X
3423
336
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
336
                    false};
3425
3426
26
        case 0:
3427
            // detect base
3428
26
            return parse_integer_base_prefix_for_detection(range);
3429
3430
676
        default:
3431
            // no base prefix allowed
3432
676
            return {range.begin(), base, false};
3433
1.06k
    }
3434
1.06k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.76k
{
3407
2.76k
    switch (base) {
3408
6
        case 2:
3409
            // allow 0b/0B
3410
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
6
                    false};
3412
3413
26
        case 8: {
3414
            // allow 0o/0O/0
3415
26
            bool zero_parsed = false;
3416
26
            auto it = apply_opt(
3417
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
26
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
906
        case 16:
3422
            // allow 0x/0X
3423
906
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
906
                    false};
3425
3426
16
        case 0:
3427
            // detect base
3428
16
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.80k
        default:
3431
            // no base prefix allowed
3432
1.80k
            return {range.begin(), base, false};
3433
2.76k
    }
3434
2.76k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
596
{
3407
596
    switch (base) {
3408
26
        case 2:
3409
            // allow 0b/0B
3410
26
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
26
                    false};
3412
3413
30
        case 8: {
3414
            // allow 0o/0O/0
3415
30
            bool zero_parsed = false;
3416
30
            auto it = apply_opt(
3417
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
30
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
168
        case 16:
3422
            // allow 0x/0X
3423
168
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
168
                    false};
3425
3426
38
        case 0:
3427
            // detect base
3428
38
            return parse_integer_base_prefix_for_detection(range);
3429
3430
334
        default:
3431
            // no base prefix allowed
3432
334
            return {range.begin(), base, false};
3433
596
    }
3434
596
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.73k
{
3407
2.73k
    switch (base) {
3408
60
        case 2:
3409
            // allow 0b/0B
3410
60
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
60
                    false};
3412
3413
16
        case 8: {
3414
            // allow 0o/0O/0
3415
16
            bool zero_parsed = false;
3416
16
            auto it = apply_opt(
3417
16
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
16
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
870
        case 16:
3422
            // allow 0x/0X
3423
870
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
870
                    false};
3425
3426
32
        case 0:
3427
            // detect base
3428
32
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.75k
        default:
3431
            // no base prefix allowed
3432
1.75k
            return {range.begin(), base, false};
3433
2.73k
    }
3434
2.73k
}
3435
3436
template <typename Range>
3437
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3438
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3439
7.15k
{
3440
7.15k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
7.15k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
7.15k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
7.15k
        parse_integer_base_prefix(
3445
7.15k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
7.15k
    if (parsed_zero) {
3448
34
        if (digits_begin_it == range.end() ||
3449
34
            char_to_int(*digits_begin_it) >= 8) {
3450
34
            digits_begin_it = base_prefix_begin_it;
3451
34
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
34
    }
3456
7.12k
    else {
3457
7.12k
        if (digits_begin_it == range.end() ||
3458
7.12k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
6.93k
            digits_begin_it = base_prefix_begin_it;
3460
6.93k
        }
3461
7.12k
    }
3462
3463
7.15k
    if (sign == sign_type::default_sign) {
3464
7.15k
        sign = sign_type::plus_sign;
3465
7.15k
    }
3466
7.15k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
7.15k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
7.15k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
1.06k
{
3440
1.06k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
1.06k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
1.06k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
1.06k
        parse_integer_base_prefix(
3445
1.06k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
1.06k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
1.06k
    else {
3457
1.06k
        if (digits_begin_it == range.end() ||
3458
1.06k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
1.06k
            digits_begin_it = base_prefix_begin_it;
3460
1.06k
        }
3461
1.06k
    }
3462
3463
1.06k
    if (sign == sign_type::default_sign) {
3464
1.06k
        sign = sign_type::plus_sign;
3465
1.06k
    }
3466
1.06k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
1.06k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
1.06k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.76k
{
3440
2.76k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.76k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.76k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.76k
        parse_integer_base_prefix(
3445
2.76k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.76k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
2.76k
    else {
3457
2.76k
        if (digits_begin_it == range.end() ||
3458
2.76k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.76k
            digits_begin_it = base_prefix_begin_it;
3460
2.76k
        }
3461
2.76k
    }
3462
3463
2.76k
    if (sign == sign_type::default_sign) {
3464
2.76k
        sign = sign_type::plus_sign;
3465
2.76k
    }
3466
2.76k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.76k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.76k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
596
{
3440
596
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
596
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
596
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
596
        parse_integer_base_prefix(
3445
596
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
596
    if (parsed_zero) {
3448
18
        if (digits_begin_it == range.end() ||
3449
18
            char_to_int(*digits_begin_it) >= 8) {
3450
18
            digits_begin_it = base_prefix_begin_it;
3451
18
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
18
    }
3456
578
    else {
3457
578
        if (digits_begin_it == range.end() ||
3458
578
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
526
            digits_begin_it = base_prefix_begin_it;
3460
526
        }
3461
578
    }
3462
3463
596
    if (sign == sign_type::default_sign) {
3464
596
        sign = sign_type::plus_sign;
3465
596
    }
3466
596
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
596
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
596
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.73k
{
3440
2.73k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.73k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.73k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.73k
        parse_integer_base_prefix(
3445
2.73k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.73k
    if (parsed_zero) {
3448
16
        if (digits_begin_it == range.end() ||
3449
16
            char_to_int(*digits_begin_it) >= 8) {
3450
16
            digits_begin_it = base_prefix_begin_it;
3451
16
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
16
    }
3456
2.71k
    else {
3457
2.71k
        if (digits_begin_it == range.end() ||
3458
2.71k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.58k
            digits_begin_it = base_prefix_begin_it;
3460
2.58k
        }
3461
2.71k
    }
3462
3463
2.73k
    if (sign == sign_type::default_sign) {
3464
2.73k
        sign = sign_type::plus_sign;
3465
2.73k
    }
3466
2.73k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.73k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.73k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3469
3470
template <typename Range>
3471
auto parse_integer_digits_without_thsep(Range range, int base)
3472
    -> scan_expected<ranges::const_iterator_t<Range>>
3473
6.97k
{
3474
6.97k
    SCN_UNUSED(base);
3475
6.97k
    using char_type = detail::char_t<Range>;
3476
3477
6.97k
    if constexpr (ranges::contiguous_range<Range>) {
3478
5.40k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
5.40k
        return range.end();
3484
    }
3485
1.56k
    else {
3486
1.56k
        return read_while1_code_unit(range,
3487
1.59k
                                     [&](char_type ch) noexcept {
3488
1.59k
                                         return char_to_int(ch) < base;
3489
1.59k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3487
1.04k
                                     [&](char_type ch) noexcept {
3488
1.04k
                                         return char_to_int(ch) < base;
3489
1.04k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3487
556
                                     [&](char_type ch) noexcept {
3488
556
                                         return char_to_int(ch) < base;
3489
556
                                     })
3490
1.56k
            .transform_error(map_parse_error_to_scan_error(
3491
1.56k
                scan_error::invalid_scanned_value,
3492
1.56k
                "Failed to parse integer: No digits found"));
3493
1.56k
    }
3494
6.97k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
1.04k
{
3474
1.04k
    SCN_UNUSED(base);
3475
1.04k
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
1.04k
    else {
3486
1.04k
        return read_while1_code_unit(range,
3487
1.04k
                                     [&](char_type ch) noexcept {
3488
1.04k
                                         return char_to_int(ch) < base;
3489
1.04k
                                     })
3490
1.04k
            .transform_error(map_parse_error_to_scan_error(
3491
1.04k
                scan_error::invalid_scanned_value,
3492
1.04k
                "Failed to parse integer: No digits found"));
3493
1.04k
    }
3494
1.04k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.74k
{
3474
2.74k
    SCN_UNUSED(base);
3475
2.74k
    using char_type = detail::char_t<Range>;
3476
3477
2.74k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.74k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.74k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.74k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
526
{
3474
526
    SCN_UNUSED(base);
3475
526
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
526
    else {
3486
526
        return read_while1_code_unit(range,
3487
526
                                     [&](char_type ch) noexcept {
3488
526
                                         return char_to_int(ch) < base;
3489
526
                                     })
3490
526
            .transform_error(map_parse_error_to_scan_error(
3491
526
                scan_error::invalid_scanned_value,
3492
526
                "Failed to parse integer: No digits found"));
3493
526
    }
3494
526
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.66k
{
3474
2.66k
    SCN_UNUSED(base);
3475
2.66k
    using char_type = detail::char_t<Range>;
3476
3477
2.66k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.66k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.66k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.66k
}
3495
3496
template <typename Range, typename CharT>
3497
auto parse_integer_digits_with_thsep(
3498
    Range range,
3499
    int base,
3500
    const localized_number_formatting_options<CharT>& locale_options)
3501
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3502
                                std::basic_string<CharT>,
3503
                                std::string>>
3504
144
{
3505
144
    std::basic_string<CharT> output;
3506
144
    std::string thsep_indices;
3507
144
    auto it = range.begin();
3508
144
    bool digit_matched = false;
3509
160
    for (; it != range.end(); ++it) {
3510
156
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
156
        else if (char_to_int(*it) >= base) {
3515
140
            break;
3516
140
        }
3517
16
        else {
3518
16
            output.push_back(*it);
3519
16
            digit_matched = true;
3520
16
        }
3521
156
    }
3522
144
    if (SCN_UNLIKELY(!digit_matched)) {
3523
128
        return detail::unexpected_scan_error(
3524
128
            scan_error::invalid_scanned_value,
3525
128
            "Failed to parse integer: No digits found");
3526
128
    }
3527
16
    return std::tuple{it, output, thsep_indices};
3528
144
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
24
{
3505
24
    std::basic_string<CharT> output;
3506
24
    std::string thsep_indices;
3507
24
    auto it = range.begin();
3508
24
    bool digit_matched = false;
3509
24
    for (; it != range.end(); ++it) {
3510
24
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
24
        else if (char_to_int(*it) >= base) {
3515
24
            break;
3516
24
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
24
    }
3522
24
    if (SCN_UNLIKELY(!digit_matched)) {
3523
24
        return detail::unexpected_scan_error(
3524
24
            scan_error::invalid_scanned_value,
3525
24
            "Failed to parse integer: No digits found");
3526
24
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
20
{
3505
20
    std::basic_string<CharT> output;
3506
20
    std::string thsep_indices;
3507
20
    auto it = range.begin();
3508
20
    bool digit_matched = false;
3509
20
    for (; it != range.end(); ++it) {
3510
20
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
20
        else if (char_to_int(*it) >= base) {
3515
20
            break;
3516
20
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
20
    }
3522
20
    if (SCN_UNLIKELY(!digit_matched)) {
3523
20
        return detail::unexpected_scan_error(
3524
20
            scan_error::invalid_scanned_value,
3525
20
            "Failed to parse integer: No digits found");
3526
20
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
20
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
52
{
3505
52
    std::basic_string<CharT> output;
3506
52
    std::string thsep_indices;
3507
52
    auto it = range.begin();
3508
52
    bool digit_matched = false;
3509
60
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
52
    if (SCN_UNLIKELY(!digit_matched)) {
3523
44
        return detail::unexpected_scan_error(
3524
44
            scan_error::invalid_scanned_value,
3525
44
            "Failed to parse integer: No digits found");
3526
44
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
48
{
3505
48
    std::basic_string<CharT> output;
3506
48
    std::string thsep_indices;
3507
48
    auto it = range.begin();
3508
48
    bool digit_matched = false;
3509
56
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
48
    if (SCN_UNLIKELY(!digit_matched)) {
3523
40
        return detail::unexpected_scan_error(
3524
40
            scan_error::invalid_scanned_value,
3525
40
            "Failed to parse integer: No digits found");
3526
40
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
48
}
3529
3530
template <typename CharT, typename T>
3531
auto parse_integer_value(std::basic_string_view<CharT> source,
3532
                         T& value,
3533
                         sign_type sign,
3534
                         int base)
3535
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3536
3537
template <typename T>
3538
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3539
3540
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3541
    extern template auto parse_integer_value(                               \
3542
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3543
        int base)                                                           \
3544
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3545
    extern template void parse_integer_value_exhaustive_valid(              \
3546
        std::string_view, IntT&);
3547
3548
#if !SCN_DISABLE_TYPE_SCHAR
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_SHORT
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_INT
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3559
#endif
3560
#if !SCN_DISABLE_TYPE_LONG
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3563
#endif
3564
#if !SCN_DISABLE_TYPE_LONG_LONG
3565
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3566
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3567
#endif
3568
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3569
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3570
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3571
#endif
3572
#if !SCN_DISABLE_TYPE_UCHAR
3573
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3574
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3575
#endif
3576
#if !SCN_DISABLE_TYPE_USHORT
3577
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3578
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3579
#endif
3580
#if !SCN_DISABLE_TYPE_UINT
3581
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3582
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3583
#endif
3584
#if !SCN_DISABLE_TYPE_ULONG
3585
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3586
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3587
#endif
3588
#if !SCN_DISABLE_TYPE_ULONG_LONG
3589
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3590
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3591
#endif
3592
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3593
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3594
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3595
#endif
3596
3597
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3598
3599
template <typename CharT>
3600
class reader_impl_for_int
3601
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3602
public:
3603
    constexpr reader_impl_for_int() = default;
3604
3605
    void check_specs_impl(const detail::format_specs& specs,
3606
                          reader_error_handler& eh)
3607
7.35k
    {
3608
7.35k
        detail::check_int_type_specs(specs, eh);
3609
7.35k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
4.76k
    {
3608
4.76k
        detail::check_int_type_specs(specs, eh);
3609
4.76k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
2.59k
    {
3608
2.59k
        detail::check_int_type_specs(specs, eh);
3609
2.59k
    }
3610
3611
    template <typename Range, typename T>
3612
    auto read_default_with_base(Range range, T& value, int base)
3613
        -> scan_expected<ranges::const_iterator_t<Range>>
3614
2.22k
    {
3615
2.22k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
2.22k
                                   .transform_error(make_eof_scan_error));
3617
3618
2.22k
        if constexpr (!std::is_signed_v<T>) {
3619
1.11k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
1.11k
        }
3626
3627
2.22k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
4.45k
        SCN_TRY(after_digits_it,
3633
4.45k
                parse_integer_digits_without_thsep(
3634
4.45k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
4.45k
                    prefix_result.parsed_base));
3636
3637
4.45k
        auto buf = make_contiguous_buffer(
3638
4.45k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
4.45k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
4.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
486
    {
3615
486
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
486
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
486
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
972
        SCN_TRY(after_digits_it,
3633
972
                parse_integer_digits_without_thsep(
3634
972
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
972
                    prefix_result.parsed_base));
3636
3637
972
        auto buf = make_contiguous_buffer(
3638
972
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
972
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
972
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
486
    {
3615
486
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
486
                                   .transform_error(make_eof_scan_error));
3617
3618
486
        if constexpr (!std::is_signed_v<T>) {
3619
486
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
486
        }
3626
3627
486
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
972
        SCN_TRY(after_digits_it,
3633
972
                parse_integer_digits_without_thsep(
3634
972
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
972
                    prefix_result.parsed_base));
3636
3637
972
        auto buf = make_contiguous_buffer(
3638
972
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
972
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
972
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
628
    {
3615
628
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
628
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
628
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.25k
        SCN_TRY(after_digits_it,
3633
1.25k
                parse_integer_digits_without_thsep(
3634
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.25k
                    prefix_result.parsed_base));
3636
3637
1.25k
        auto buf = make_contiguous_buffer(
3638
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.25k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
628
    {
3615
628
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
628
                                   .transform_error(make_eof_scan_error));
3617
3618
628
        if constexpr (!std::is_signed_v<T>) {
3619
628
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
628
        }
3626
3627
628
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.25k
        SCN_TRY(after_digits_it,
3633
1.25k
                parse_integer_digits_without_thsep(
3634
1.25k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.25k
                    prefix_result.parsed_base));
3636
3637
1.25k
        auto buf = make_contiguous_buffer(
3638
1.25k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.25k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3646
3647
    template <typename Range, typename T>
3648
    auto read_default(Range range, T& value, detail::locale_ref loc)
3649
        -> scan_expected<ranges::const_iterator_t<Range>>
3650
2.22k
    {
3651
2.22k
        SCN_UNUSED(loc);
3652
2.22k
        return read_default_with_base(range, value, 10);
3653
2.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
628
    {
3651
628
        SCN_UNUSED(loc);
3652
628
        return read_default_with_base(range, value, 10);
3653
628
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
628
    {
3651
628
        SCN_UNUSED(loc);
3652
628
        return read_default_with_base(range, value, 10);
3653
628
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
486
    {
3651
486
        SCN_UNUSED(loc);
3652
486
        return read_default_with_base(range, value, 10);
3653
486
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
486
    {
3651
486
        SCN_UNUSED(loc);
3652
486
        return read_default_with_base(range, value, 10);
3653
486
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3654
3655
    template <typename Range, typename T>
3656
    auto read_specs(Range range,
3657
                    const detail::format_specs& specs,
3658
                    T& value,
3659
                    detail::locale_ref loc)
3660
        -> scan_expected<ranges::const_iterator_t<Range>>
3661
4.92k
    {
3662
4.92k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
4.92k
                                   .transform_error(make_eof_scan_error));
3664
3665
4.92k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
4.92k
        if (prefix_result.is_zero) {
3683
34
            value = T{0};
3684
34
            return std::next(prefix_result.iterator);
3685
34
        }
3686
3687
4.89k
        if (SCN_LIKELY(!specs.localized)) {
3688
4.74k
            SCN_TRY(after_digits_it,
3689
3.22k
                    parse_integer_digits_without_thsep(
3690
3.22k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
3.22k
                        prefix_result.parsed_base));
3692
3693
3.22k
            auto buf = make_contiguous_buffer(
3694
3.22k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
3.22k
            SCN_TRY(result_it,
3696
172
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
172
                                        prefix_result.parsed_base));
3698
3699
172
            return ranges::next(
3700
172
                prefix_result.iterator,
3701
172
                ranges::distance(buf.view().begin(), result_it));
3702
3.22k
        }
3703
3704
144
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
144
            localized_number_formatting_options<CharT>{loc};
3710
144
#endif
3711
3712
144
        SCN_TRY(parse_digits_result,
3713
16
                parse_integer_digits_with_thsep(
3714
16
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
16
                    prefix_result.parsed_base, locale_options));
3716
16
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
16
            parse_digits_result;
3718
16
        SCN_UNUSED(after_digits_it);
3719
3720
16
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
16
            nothsep_source.data(), nothsep_source.size()};
3722
16
        SCN_TRY(
3723
16
            nothsep_source_it,
3724
16
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
16
                                prefix_result.parsed_base));
3726
3727
16
        return ranges::next(
3728
16
            prefix_result.iterator,
3729
16
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
16
                ranges::ssize(thsep_indices));
3731
16
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
36
    {
3662
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
36
                                   .transform_error(make_eof_scan_error));
3664
3665
36
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
36
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
36
        if (SCN_LIKELY(!specs.localized)) {
3688
36
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
22
    {
3662
22
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
22
                                   .transform_error(make_eof_scan_error));
3664
3665
22
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
22
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
22
        if (SCN_LIKELY(!specs.localized)) {
3688
22
            SCN_TRY(after_digits_it,
3689
22
                    parse_integer_digits_without_thsep(
3690
22
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
22
                        prefix_result.parsed_base));
3692
3693
22
            auto buf = make_contiguous_buffer(
3694
22
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
22
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
22
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
356
    {
3662
356
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
356
                                   .transform_error(make_eof_scan_error));
3664
3665
356
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
356
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
356
        if (SCN_LIKELY(!specs.localized)) {
3688
344
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
294
    {
3662
294
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
294
                                   .transform_error(make_eof_scan_error));
3664
3665
294
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
294
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
294
        if (SCN_LIKELY(!specs.localized)) {
3688
284
            SCN_TRY(after_digits_it,
3689
284
                    parse_integer_digits_without_thsep(
3690
284
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
284
                        prefix_result.parsed_base));
3692
3693
284
            auto buf = make_contiguous_buffer(
3694
284
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
284
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
284
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
356
    {
3662
356
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
356
                                   .transform_error(make_eof_scan_error));
3664
3665
356
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
356
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
356
        if (SCN_LIKELY(!specs.localized)) {
3688
344
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
294
    {
3662
294
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
294
                                   .transform_error(make_eof_scan_error));
3664
3665
294
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
294
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
294
        if (SCN_LIKELY(!specs.localized)) {
3688
284
            SCN_TRY(after_digits_it,
3689
284
                    parse_integer_digits_without_thsep(
3690
284
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
284
                        prefix_result.parsed_base));
3692
3693
284
            auto buf = make_contiguous_buffer(
3694
284
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
284
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
284
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
318
    {
3662
318
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
318
                                   .transform_error(make_eof_scan_error));
3664
3665
318
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
318
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
318
        if (SCN_LIKELY(!specs.localized)) {
3688
318
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
894
    {
3662
894
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
894
                                   .transform_error(make_eof_scan_error));
3664
3665
894
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
894
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
894
        if (SCN_LIKELY(!specs.localized)) {
3688
894
            SCN_TRY(after_digits_it,
3689
894
                    parse_integer_digits_without_thsep(
3690
894
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
894
                        prefix_result.parsed_base));
3692
3693
894
            auto buf = make_contiguous_buffer(
3694
894
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
894
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
894
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
248
    {
3662
248
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
248
                                   .transform_error(make_eof_scan_error));
3664
3665
248
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
248
        if (prefix_result.is_zero) {
3683
12
            value = T{0};
3684
12
            return std::next(prefix_result.iterator);
3685
12
        }
3686
3687
236
        if (SCN_LIKELY(!specs.localized)) {
3688
210
            SCN_TRY(after_digits_it,
3689
20
                    parse_integer_digits_without_thsep(
3690
20
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
20
                        prefix_result.parsed_base));
3692
3693
20
            auto buf = make_contiguous_buffer(
3694
20
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
20
            SCN_TRY(result_it,
3696
20
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
20
                                        prefix_result.parsed_base));
3698
3699
20
            return ranges::next(
3700
20
                prefix_result.iterator,
3701
20
                ranges::distance(buf.view().begin(), result_it));
3702
20
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
480
    {
3662
480
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
480
                                   .transform_error(make_eof_scan_error));
3664
3665
480
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
480
        if (prefix_result.is_zero) {
3683
10
            value = T{0};
3684
10
            return std::next(prefix_result.iterator);
3685
10
        }
3686
3687
470
        if (SCN_LIKELY(!specs.localized)) {
3688
446
            SCN_TRY(after_digits_it,
3689
446
                    parse_integer_digits_without_thsep(
3690
446
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
446
                        prefix_result.parsed_base));
3692
3693
446
            auto buf = make_contiguous_buffer(
3694
446
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
446
            SCN_TRY(result_it,
3696
46
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
46
                                        prefix_result.parsed_base));
3698
3699
46
            return ranges::next(
3700
46
                prefix_result.iterator,
3701
46
                ranges::distance(buf.view().begin(), result_it));
3702
446
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
202
    {
3662
202
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
202
                                   .transform_error(make_eof_scan_error));
3664
3665
202
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
202
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
196
        if (SCN_LIKELY(!specs.localized)) {
3688
170
            SCN_TRY(after_digits_it,
3689
14
                    parse_integer_digits_without_thsep(
3690
14
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
14
                        prefix_result.parsed_base));
3692
3693
14
            auto buf = make_contiguous_buffer(
3694
14
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
14
            SCN_TRY(result_it,
3696
14
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
14
                                        prefix_result.parsed_base));
3698
3699
14
            return ranges::next(
3700
14
                prefix_result.iterator,
3701
14
                ranges::distance(buf.view().begin(), result_it));
3702
14
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
432
    {
3662
432
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
432
                                   .transform_error(make_eof_scan_error));
3664
3665
432
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
432
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
426
        if (SCN_LIKELY(!specs.localized)) {
3688
402
            SCN_TRY(after_digits_it,
3689
402
                    parse_integer_digits_without_thsep(
3690
402
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
402
                        prefix_result.parsed_base));
3692
3693
402
            auto buf = make_contiguous_buffer(
3694
402
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
402
            SCN_TRY(result_it,
3696
42
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
42
                                        prefix_result.parsed_base));
3698
3699
42
            return ranges::next(
3700
42
                prefix_result.iterator,
3701
42
                ranges::distance(buf.view().begin(), result_it));
3702
402
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
146
    {
3662
146
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
146
                                   .transform_error(make_eof_scan_error));
3664
3665
146
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
146
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
146
        if (SCN_LIKELY(!specs.localized)) {
3688
146
            SCN_TRY(after_digits_it,
3689
10
                    parse_integer_digits_without_thsep(
3690
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
10
                        prefix_result.parsed_base));
3692
3693
10
            auto buf = make_contiguous_buffer(
3694
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
10
            SCN_TRY(result_it,
3696
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
10
                                        prefix_result.parsed_base));
3698
3699
10
            return ranges::next(
3700
10
                prefix_result.iterator,
3701
10
                ranges::distance(buf.view().begin(), result_it));
3702
10
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
848
    {
3662
848
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
848
                                   .transform_error(make_eof_scan_error));
3664
3665
848
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
848
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
848
        if (SCN_LIKELY(!specs.localized)) {
3688
848
            SCN_TRY(after_digits_it,
3689
848
                    parse_integer_digits_without_thsep(
3690
848
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
848
                        prefix_result.parsed_base));
3692
3693
848
            auto buf = make_contiguous_buffer(
3694
848
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
848
            SCN_TRY(result_it,
3696
40
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
40
                                        prefix_result.parsed_base));
3698
3699
40
            return ranges::next(
3700
40
                prefix_result.iterator,
3701
40
                ranges::distance(buf.view().begin(), result_it));
3702
848
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3732
};
3733
3734
/////////////////////////////////////////////////////////////////
3735
// Floating-point reader
3736
/////////////////////////////////////////////////////////////////
3737
3738
struct float_reader_base {
3739
    enum options_type {
3740
        allow_hex = 1,
3741
        allow_scientific = 2,
3742
        allow_fixed = 4,
3743
        allow_thsep = 8
3744
    };
3745
3746
    enum class float_kind {
3747
        tbd = 0,
3748
        generic,             // fixed or scientific
3749
        fixed,               // xxx.yyy
3750
        scientific,          // xxx.yyyEzzz
3751
        hex_without_prefix,  // xxx.yyypzzz
3752
        hex_with_prefix,     // 0Xxxx.yyypzzz
3753
        inf_short,           // inf
3754
        inf_long,            // infinity
3755
        nan_simple,          // nan
3756
        nan_with_payload,    // nan(xxx)
3757
    };
3758
3759
1.11k
    constexpr float_reader_base() = default;
3760
1.29k
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3761
3762
protected:
3763
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3764
};
3765
3766
template <typename CharT>
3767
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3768
    using numeric_base = numeric_reader<CharT>;
3769
3770
public:
3771
    using char_type = CharT;
3772
3773
1.11k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3773
628
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3773
486
    constexpr float_reader() = default;
3774
3775
1.29k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3775
664
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3775
632
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3776
3777
    template <typename Range>
3778
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3779
        -> scan_expected<ranges::const_iterator_t<Range>>
3780
2.36k
    {
3781
2.36k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
2.36k
        return read_source_impl(range);
3787
2.36k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
356
    {
3781
356
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
356
        return read_source_impl(range);
3787
356
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
918
    {
3781
918
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
918
        return read_source_impl(range);
3787
918
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
172
    {
3781
172
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
172
        return read_source_impl(range);
3787
172
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
914
    {
3781
914
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
914
        return read_source_impl(range);
3787
914
    }
3788
3789
#if !SCN_DISABLE_LOCALE
3790
    template <typename Range>
3791
    SCN_NODISCARD auto read_source_localized(Range range,
3792
                                             detail::locale_ref loc)
3793
        -> scan_expected<ranges::const_iterator_t<Range>>
3794
50
    {
3795
50
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
50
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
50
        return read_source_impl(range);
3801
50
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
12
    {
3795
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
12
        return read_source_impl(range);
3801
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
6
    {
3795
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
6
        return read_source_impl(range);
3801
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
3802
#endif
3803
3804
    template <typename T>
3805
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3806
1.83k
    {
3807
1.83k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
1.83k
        const std::ptrdiff_t sign_len =
3810
1.83k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
1.83k
        SCN_TRY(n, parse_value_impl(value));
3813
94
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
1.83k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3806
902
    {
3807
902
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
902
        const std::ptrdiff_t sign_len =
3810
902
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
902
        SCN_TRY(n, parse_value_impl(value));
3813
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
902
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3806
932
    {
3807
932
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
932
        const std::ptrdiff_t sign_len =
3810
932
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
932
        SCN_TRY(n, parse_value_impl(value));
3813
94
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
932
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3815
3816
private:
3817
    template <typename Range>
3818
    auto read_source_impl(Range range)
3819
        -> scan_expected<ranges::const_iterator_t<Range>>
3820
2.41k
    {
3821
2.41k
        SCN_TRY(sign_result,
3822
2.41k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
2.41k
        auto it = sign_result.first;
3824
2.41k
        m_sign = sign_result.second;
3825
3826
2.41k
        auto digits_begin = it;
3827
2.41k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
1.85k
                      ranges::sized_range<Range>) {
3830
1.85k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
1.85k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
1.85k
            else {
3840
1.85k
                auto cb = [&](const auto& rr)
3841
1.85k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
1.81k
                    auto res = read_all(rr);
3843
1.81k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
1.81k
                    return res;
3849
1.81k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
902
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
902
                    auto res = read_all(rr);
3843
902
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
902
                    return res;
3849
902
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
910
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
910
                    auto res = read_all(rr);
3843
910
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
910
                    return res;
3849
910
                };
3850
1.85k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
1.81k
            }
3852
        }
3853
556
        else {
3854
556
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
2.41k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
1.83k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
1.83k
            m_kind != float_kind::nan_simple &&
3865
1.83k
            m_kind != float_kind::nan_with_payload) {
3866
1.83k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
1.83k
        }
3868
3869
1.83k
        handle_separators();
3870
3871
1.83k
        return it;
3872
2.41k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
368
    {
3821
368
        SCN_TRY(sign_result,
3822
368
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
368
        auto it = sign_result.first;
3824
368
        m_sign = sign_result.second;
3825
3826
368
        auto digits_begin = it;
3827
368
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
368
        else {
3854
368
            SCN_TRY_ASSIGN(
3855
0
                it,
3856
0
                do_read_source_impl(
3857
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
0
        }
3860
3861
368
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
0
            m_kind != float_kind::nan_simple &&
3865
0
            m_kind != float_kind::nan_with_payload) {
3866
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
0
        }
3868
3869
0
        handle_separators();
3870
3871
0
        return it;
3872
368
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
924
    {
3821
924
        SCN_TRY(sign_result,
3822
924
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
924
        auto it = sign_result.first;
3824
924
        m_sign = sign_result.second;
3825
3826
924
        auto digits_begin = it;
3827
924
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
924
                      ranges::sized_range<Range>) {
3830
924
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
924
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
924
            else {
3840
924
                auto cb = [&](const auto& rr)
3841
924
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
924
                    auto res = read_all(rr);
3843
924
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
924
                        return detail::unexpected_scan_error(
3845
924
                            scan_error::invalid_scanned_value,
3846
924
                            "Invalid float value");
3847
924
                    }
3848
924
                    return res;
3849
924
                };
3850
924
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
902
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
924
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
902
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
902
            m_kind != float_kind::nan_simple &&
3865
902
            m_kind != float_kind::nan_with_payload) {
3866
902
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
902
        }
3868
3869
902
        handle_separators();
3870
3871
902
        return it;
3872
924
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
188
    {
3821
188
        SCN_TRY(sign_result,
3822
188
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
188
        auto it = sign_result.first;
3824
188
        m_sign = sign_result.second;
3825
3826
188
        auto digits_begin = it;
3827
188
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
188
        else {
3854
188
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
188
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
20
            m_kind != float_kind::nan_simple &&
3865
20
            m_kind != float_kind::nan_with_payload) {
3866
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
20
        }
3868
3869
20
        handle_separators();
3870
3871
20
        return it;
3872
188
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
930
    {
3821
930
        SCN_TRY(sign_result,
3822
930
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
930
        auto it = sign_result.first;
3824
930
        m_sign = sign_result.second;
3825
3826
930
        auto digits_begin = it;
3827
930
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
930
                      ranges::sized_range<Range>) {
3830
930
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
930
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
930
            else {
3840
930
                auto cb = [&](const auto& rr)
3841
930
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
930
                    auto res = read_all(rr);
3843
930
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
930
                        return detail::unexpected_scan_error(
3845
930
                            scan_error::invalid_scanned_value,
3846
930
                            "Invalid float value");
3847
930
                    }
3848
930
                    return res;
3849
930
                };
3850
930
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
912
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
930
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
912
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
912
            m_kind != float_kind::nan_simple &&
3865
912
            m_kind != float_kind::nan_with_payload) {
3866
912
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
912
        }
3868
3869
912
        handle_separators();
3870
3871
912
        return it;
3872
930
    }
3873
3874
    template <typename Range>
3875
    auto read_dec_digits(Range range, bool thsep_allowed)
3876
        -> parse_expected<ranges::const_iterator_t<Range>>
3877
590
    {
3878
590
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
590
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3884
0
        }
3885
3886
590
        return read_while1_code_unit(
3887
598
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3887
360
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3887
188
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3887
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
590
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
360
    {
3878
360
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
360
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
360
        return read_while1_code_unit(
3887
360
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
360
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
22
    {
3878
22
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
22
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
22
        return read_while1_code_unit(
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
184
    {
3878
184
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
184
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
184
        return read_while1_code_unit(
3887
184
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
184
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
24
    {
3878
24
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
24
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
24
        return read_while1_code_unit(
3887
24
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
24
    }
3889
    template <typename Range>
3890
    auto read_hex_digits(Range range, bool thsep_allowed)
3891
        -> parse_expected<ranges::const_iterator_t<Range>>
3892
34
    {
3893
34
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
34
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3899
0
        }
3900
3901
34
        return read_while1_code_unit(
3902
36
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3902
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3903
34
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
8
    {
3893
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
8
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
8
        return read_while1_code_unit(
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
26
    {
3893
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
26
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
26
        return read_while1_code_unit(
3902
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3904
    template <typename Range>
3905
    auto read_hex_prefix(Range range)
3906
        -> parse_expected<ranges::const_iterator_t<Range>>
3907
2.32k
    {
3908
2.32k
        return read_matching_string_classic_nocase(range, "0x");
3909
2.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
336
    {
3908
336
        return read_matching_string_classic_nocase(range, "0x");
3909
336
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
902
    {
3908
902
        return read_matching_string_classic_nocase(range, "0x");
3909
902
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
176
    {
3908
176
        return read_matching_string_classic_nocase(range, "0x");
3909
176
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
910
    {
3908
910
        return read_matching_string_classic_nocase(range, "0x");
3909
910
    }
3910
3911
    template <typename Range>
3912
    auto read_inf(Range range)
3913
        -> parse_expected<ranges::const_iterator_t<Range>>
3914
2.41k
    {
3915
2.41k
        auto it = range.begin();
3916
2.41k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
2.41k
            return unexpected(r.error());
3918
2.41k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
368
    {
3915
368
        auto it = range.begin();
3916
368
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
368
            return unexpected(r.error());
3918
368
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
924
    {
3915
924
        auto it = range.begin();
3916
924
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
924
            return unexpected(r.error());
3918
924
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
188
    {
3915
188
        auto it = range.begin();
3916
188
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
188
            return unexpected(r.error());
3918
188
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
930
    {
3915
930
        auto it = range.begin();
3916
930
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
930
            return unexpected(r.error());
3918
930
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
3934
3935
    template <typename Range>
3936
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3937
2.41k
    {
3938
2.41k
        auto it = range.begin();
3939
2.41k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
2.41k
            return r.transform_error(map_parse_error_to_scan_error(
3941
2.41k
                scan_error::invalid_scanned_value,
3942
2.41k
                "Invalid floating-point NaN value"));
3943
2.41k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
368
    {
3938
368
        auto it = range.begin();
3939
368
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
368
            return r.transform_error(map_parse_error_to_scan_error(
3941
368
                scan_error::invalid_scanned_value,
3942
368
                "Invalid floating-point NaN value"));
3943
368
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
924
    {
3938
924
        auto it = range.begin();
3939
924
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
924
            return r.transform_error(map_parse_error_to_scan_error(
3941
924
                scan_error::invalid_scanned_value,
3942
924
                "Invalid floating-point NaN value"));
3943
924
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
188
    {
3938
188
        auto it = range.begin();
3939
188
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
188
            return r.transform_error(map_parse_error_to_scan_error(
3941
188
                scan_error::invalid_scanned_value,
3942
188
                "Invalid floating-point NaN value"));
3943
188
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
930
    {
3938
930
        auto it = range.begin();
3939
930
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
930
            return r.transform_error(map_parse_error_to_scan_error(
3941
930
                scan_error::invalid_scanned_value,
3942
930
                "Invalid floating-point NaN value"));
3943
930
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
3976
3977
    template <typename Range>
3978
    auto read_exponent(Range range, std::string_view exp)
3979
        -> ranges::const_iterator_t<Range>
3980
22
    {
3981
22
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
22
        return range.begin();
4003
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3980
20
    {
3981
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
20
        return range.begin();
4003
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3980
2
    {
3981
2
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
2
        return range.begin();
4003
2
    }
4004
4005
    template <typename Range>
4006
    auto read_hexfloat(Range range)
4007
        -> scan_expected<ranges::const_iterator_t<Range>>
4008
28
    {
4009
28
        auto it = range.begin();
4010
4011
28
        std::ptrdiff_t digits_count = 0;
4012
28
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
28
            SCN_UNLIKELY(!r)) {
4014
22
            return r.transform_error(map_parse_error_to_scan_error(
4015
22
                scan_error::invalid_scanned_value,
4016
22
                "Invalid hexadecimal floating-point value"));
4017
22
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
8
    {
4009
8
        auto it = range.begin();
4010
4011
8
        std::ptrdiff_t digits_count = 0;
4012
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
8
            SCN_UNLIKELY(!r)) {
4014
8
            return r.transform_error(map_parse_error_to_scan_error(
4015
8
                scan_error::invalid_scanned_value,
4016
8
                "Invalid hexadecimal floating-point value"));
4017
8
        }
4018
0
        else {
4019
0
            digits_count += ranges::distance(it, *r);
4020
0
            it = *r;
4021
0
        }
4022
4023
0
        m_integral_part_length = digits_count;
4024
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
0
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
0
        if (auto r =
4030
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
0
        return it;
4044
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
20
    {
4009
20
        auto it = range.begin();
4010
4011
20
        std::ptrdiff_t digits_count = 0;
4012
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
20
            SCN_UNLIKELY(!r)) {
4014
14
            return r.transform_error(map_parse_error_to_scan_error(
4015
14
                scan_error::invalid_scanned_value,
4016
14
                "Invalid hexadecimal floating-point value"));
4017
14
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4045
4046
    template <typename Range>
4047
    auto read_regular_float(Range range)
4048
        -> scan_expected<ranges::const_iterator_t<Range>>
4049
570
    {
4050
570
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
570
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
570
        auto it = ranges::begin(range);
4054
570
        std::ptrdiff_t digits_count = 0;
4055
4056
570
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
570
            SCN_UNLIKELY(!r)) {
4058
550
            return r.transform_error(
4059
550
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
550
                                              "Invalid floating-point value"));
4061
550
        }
4062
20
        else {
4063
20
            digits_count += ranges::distance(it, *r);
4064
20
            it = *r;
4065
20
        }
4066
4067
20
        m_integral_part_length = digits_count;
4068
20
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
20
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
20
        if (auto r =
4074
20
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
20
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
20
        auto beg_exp_it = it;
4086
20
        if (allowed_exp) {
4087
16
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
16
        }
4089
20
        if (required_exp && beg_exp_it == it) {
4090
4
            return detail::unexpected_scan_error(
4091
4
                scan_error::invalid_scanned_value,
4092
4
                "No exponent given to scientific float");
4093
4
        }
4094
4095
16
        m_kind =
4096
16
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
16
        return it;
4099
20
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
360
    {
4050
360
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
360
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
360
        auto it = ranges::begin(range);
4054
360
        std::ptrdiff_t digits_count = 0;
4055
4056
360
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
360
            SCN_UNLIKELY(!r)) {
4058
360
            return r.transform_error(
4059
360
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
360
                                              "Invalid floating-point value"));
4061
360
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
22
    {
4050
22
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
22
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
22
        auto it = ranges::begin(range);
4054
22
        std::ptrdiff_t digits_count = 0;
4055
4056
22
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
22
            SCN_UNLIKELY(!r)) {
4058
22
            return r.transform_error(
4059
22
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
22
                                              "Invalid floating-point value"));
4061
22
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
168
    {
4050
168
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
168
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
168
        auto it = ranges::begin(range);
4054
168
        std::ptrdiff_t digits_count = 0;
4055
4056
168
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
168
            SCN_UNLIKELY(!r)) {
4058
152
            return r.transform_error(
4059
152
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
152
                                              "Invalid floating-point value"));
4061
152
        }
4062
16
        else {
4063
16
            digits_count += ranges::distance(it, *r);
4064
16
            it = *r;
4065
16
        }
4066
4067
16
        m_integral_part_length = digits_count;
4068
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
16
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
16
        if (auto r =
4074
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
16
        auto beg_exp_it = it;
4086
16
        if (allowed_exp) {
4087
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
14
        }
4089
16
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
14
        m_kind =
4096
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
14
        return it;
4099
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
20
    {
4050
20
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
20
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
20
        auto it = ranges::begin(range);
4054
20
        std::ptrdiff_t digits_count = 0;
4055
4056
20
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
20
            SCN_UNLIKELY(!r)) {
4058
16
            return r.transform_error(
4059
16
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
16
                                              "Invalid floating-point value"));
4061
16
        }
4062
4
        else {
4063
4
            digits_count += ranges::distance(it, *r);
4064
4
            it = *r;
4065
4
        }
4066
4067
4
        m_integral_part_length = digits_count;
4068
4
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
4
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
4
        if (auto r =
4074
4
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
4
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
4
        auto beg_exp_it = it;
4086
4
        if (allowed_exp) {
4087
2
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
2
        }
4089
4
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
2
        m_kind =
4096
2
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
2
        return it;
4099
4
    }
4100
4101
    template <typename Range, typename ReadRegular, typename ReadHex>
4102
    auto do_read_source_impl(Range range,
4103
                             ReadRegular&& read_regular,
4104
                             ReadHex&& read_hex)
4105
        -> scan_expected<ranges::const_iterator_t<Range>>
4106
2.41k
    {
4107
2.41k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
2.41k
        const bool allowed_nonhex =
4109
2.41k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
2.41k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
2.41k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
2.41k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
2.41k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
2.41k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
2.41k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
88
            auto it = range.begin();
4132
4133
88
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
88
            else {
4138
88
                m_kind = float_kind::hex_without_prefix;
4139
88
            }
4140
4141
88
            return read_hex(ranges::subrange{it, range.end()});
4142
88
        }
4143
2.32k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
86
            m_kind = float_kind::generic;
4147
86
            return read_regular_float(range);
4148
86
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
2.23k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
2.23k
        m_kind = float_kind::generic;
4159
2.23k
        return read_regular(range);
4160
2.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
368
    {
4107
368
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
368
        const bool allowed_nonhex =
4109
368
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
368
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
368
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
368
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
368
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
368
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
368
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
360
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
32
            m_kind = float_kind::generic;
4147
32
            return read_regular_float(range);
4148
32
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
328
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
328
        m_kind = float_kind::generic;
4159
328
        return read_regular(range);
4160
328
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
924
    {
4107
924
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
924
        const bool allowed_nonhex =
4109
924
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
924
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
924
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
924
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
924
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
924
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
924
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
916
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
22
            m_kind = float_kind::generic;
4147
22
            return read_regular_float(range);
4148
22
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
894
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
894
        m_kind = float_kind::generic;
4159
894
        return read_regular(range);
4160
894
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
188
    {
4107
188
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
188
        const bool allowed_nonhex =
4109
188
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
188
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
188
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
188
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
188
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
188
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
188
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
20
            auto it = range.begin();
4132
4133
20
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
20
            else {
4138
20
                m_kind = float_kind::hex_without_prefix;
4139
20
            }
4140
4141
20
            return read_hex(ranges::subrange{it, range.end()});
4142
20
        }
4143
168
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
12
            m_kind = float_kind::generic;
4147
12
            return read_regular_float(range);
4148
12
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
156
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
156
        m_kind = float_kind::generic;
4159
156
        return read_regular(range);
4160
156
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
930
    {
4107
930
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
930
        const bool allowed_nonhex =
4109
930
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
930
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
930
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
930
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
930
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
930
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
930
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
52
            auto it = range.begin();
4132
4133
52
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
52
            else {
4138
52
                m_kind = float_kind::hex_without_prefix;
4139
52
            }
4140
4141
52
            return read_hex(ranges::subrange{it, range.end()});
4142
52
        }
4143
878
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
20
            m_kind = float_kind::generic;
4147
20
            return read_regular_float(range);
4148
20
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
858
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
858
        m_kind = float_kind::generic;
4159
858
        return read_regular(range);
4160
858
    }
4161
4162
    void handle_separators()
4163
1.83k
    {
4164
1.83k
        if (m_locale_options.thousands_sep == 0 &&
4165
1.83k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
1.83k
            return;
4167
1.83k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4163
902
    {
4164
902
        if (m_locale_options.thousands_sep == 0 &&
4165
902
            m_locale_options.decimal_point == CharT{'.'}) {
4166
902
            return;
4167
902
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4163
932
    {
4164
932
        if (m_locale_options.thousands_sep == 0 &&
4165
932
            m_locale_options.decimal_point == CharT{'.'}) {
4166
932
            return;
4167
932
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
4203
4204
    template <typename T>
4205
    T setsign(T value) const
4206
94
    {
4207
94
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
94
        return std::copysign(value, static_cast<T>(1.0));
4211
94
    }
Unexecuted instantiation: float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Unexecuted instantiation: double scn::v4::impl::float_reader<char>::setsign<double>(double) const
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4206
94
    {
4207
94
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
94
        return std::copysign(value, static_cast<T>(1.0));
4211
94
    }
Unexecuted instantiation: long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4212
4213
    template <typename T>
4214
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4215
4216
    localized_number_formatting_options<CharT> m_locale_options{};
4217
    std::string m_thsep_indices{};
4218
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4219
    std::ptrdiff_t m_integral_part_length{-1};
4220
    sign_type m_sign{sign_type::default_sign};
4221
    float_kind m_kind{float_kind::tbd};
4222
};
4223
4224
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4225
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4226
        -> scan_expected<std::ptrdiff_t>;
4227
4228
#if !SCN_DISABLE_TYPE_FLOAT
4229
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4230
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4231
#endif
4232
#if !SCN_DISABLE_TYPE_DOUBLE
4233
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4234
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4235
#endif
4236
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4237
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4238
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4239
#endif
4240
4241
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4242
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4243
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4244
#endif
4245
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4246
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4247
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4248
#endif
4249
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4250
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4251
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4252
#endif
4253
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4254
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4255
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4256
#endif
4257
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4258
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4259
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4260
#endif
4261
4262
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4263
4264
template <typename CharT>
4265
class reader_impl_for_float
4266
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4267
public:
4268
    constexpr reader_impl_for_float() = default;
4269
4270
    void check_specs_impl(const detail::format_specs& specs,
4271
                          reader_error_handler& eh)
4272
3.67k
    {
4273
3.67k
        detail::check_float_type_specs(specs, eh);
4274
3.67k
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
2.38k
    {
4273
2.38k
        detail::check_float_type_specs(specs, eh);
4274
2.38k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
1.29k
    {
4273
1.29k
        detail::check_float_type_specs(specs, eh);
4274
1.29k
    }
4275
4276
    template <typename Range, typename T>
4277
    auto read_default(Range range, T& value, detail::locale_ref loc)
4278
        -> scan_expected<ranges::const_iterator_t<Range>>
4279
1.11k
    {
4280
1.11k
        SCN_UNUSED(loc);
4281
4282
1.11k
        float_reader<CharT> rd{};
4283
1.11k
        return read_impl<Range>(
4284
1.11k
            range, rd,
4285
1.11k
            [](float_reader<CharT>& r, auto&&... args) {
4286
1.11k
                return r.read_source(SCN_FWD(args)...);
4287
1.11k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
628
            [](float_reader<CharT>& r, auto&&... args) {
4286
628
                return r.read_source(SCN_FWD(args)...);
4287
628
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
486
            [](float_reader<CharT>& r, auto&&... args) {
4286
486
                return r.read_source(SCN_FWD(args)...);
4287
486
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4288
1.11k
            value);
4289
1.11k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
628
    {
4280
628
        SCN_UNUSED(loc);
4281
4282
628
        float_reader<CharT> rd{};
4283
628
        return read_impl<Range>(
4284
628
            range, rd,
4285
628
            [](float_reader<CharT>& r, auto&&... args) {
4286
628
                return r.read_source(SCN_FWD(args)...);
4287
628
            },
4288
628
            value);
4289
628
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
486
    {
4280
486
        SCN_UNUSED(loc);
4281
4282
486
        float_reader<CharT> rd{};
4283
486
        return read_impl<Range>(
4284
486
            range, rd,
4285
486
            [](float_reader<CharT>& r, auto&&... args) {
4286
486
                return r.read_source(SCN_FWD(args)...);
4287
486
            },
4288
486
            value);
4289
486
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4290
4291
    template <typename Range, typename T>
4292
    auto read_specs(Range range,
4293
                    const detail::format_specs& specs,
4294
                    T& value,
4295
                    detail::locale_ref loc)
4296
        -> scan_expected<ranges::const_iterator_t<Range>>
4297
1.29k
    {
4298
1.29k
        float_reader<CharT> rd{get_options(specs)};
4299
4300
1.29k
#if !SCN_DISABLE_LOCALE
4301
1.29k
        if (specs.localized) {
4302
50
            return read_impl<Range>(
4303
50
                range, rd,
4304
50
                [](float_reader<CharT>& r, auto&&... args) {
4305
50
                    return r.read_source_localized(SCN_FWD(args)...);
4306
50
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4307
50
                value, loc);
4308
50
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
1.24k
        return read_impl<Range>(
4314
1.24k
            range, rd,
4315
1.24k
            [](float_reader<CharT>& r, auto&&... args) {
4316
1.24k
                return r.read_source(SCN_FWD(args)...);
4317
1.24k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
356
            [](float_reader<CharT>& r, auto&&... args) {
4316
356
                return r.read_source(SCN_FWD(args)...);
4317
356
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
290
            [](float_reader<CharT>& r, auto&&... args) {
4316
290
                return r.read_source(SCN_FWD(args)...);
4317
290
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
428
            [](float_reader<CharT>& r, auto&&... args) {
4316
428
                return r.read_source(SCN_FWD(args)...);
4317
428
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4318
1.24k
            value);
4319
1.29k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
368
    {
4298
368
        float_reader<CharT> rd{get_options(specs)};
4299
4300
368
#if !SCN_DISABLE_LOCALE
4301
368
        if (specs.localized) {
4302
12
            return read_impl<Range>(
4303
12
                range, rd,
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
4307
12
                value, loc);
4308
12
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
356
        return read_impl<Range>(
4314
356
            range, rd,
4315
356
            [](float_reader<CharT>& r, auto&&... args) {
4316
356
                return r.read_source(SCN_FWD(args)...);
4317
356
            },
4318
356
            value);
4319
368
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
296
    {
4298
296
        float_reader<CharT> rd{get_options(specs)};
4299
4300
296
#if !SCN_DISABLE_LOCALE
4301
296
        if (specs.localized) {
4302
6
            return read_impl<Range>(
4303
6
                range, rd,
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
4307
6
                value, loc);
4308
6
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
290
        return read_impl<Range>(
4314
290
            range, rd,
4315
290
            [](float_reader<CharT>& r, auto&&... args) {
4316
290
                return r.read_source(SCN_FWD(args)...);
4317
290
            },
4318
290
            value);
4319
296
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
188
    {
4298
188
        float_reader<CharT> rd{get_options(specs)};
4299
4300
188
#if !SCN_DISABLE_LOCALE
4301
188
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
172
        return read_impl<Range>(
4314
172
            range, rd,
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
4318
172
            value);
4319
188
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
444
    {
4298
444
        float_reader<CharT> rd{get_options(specs)};
4299
4300
444
#if !SCN_DISABLE_LOCALE
4301
444
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
428
        return read_impl<Range>(
4314
428
            range, rd,
4315
428
            [](float_reader<CharT>& r, auto&&... args) {
4316
428
                return r.read_source(SCN_FWD(args)...);
4317
428
            },
4318
428
            value);
4319
444
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4320
4321
private:
4322
    template <typename Range>
4323
    using read_source_callback_type =
4324
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4325
                                                       Range,
4326
                                                       detail::locale_ref);
4327
4328
    template <typename Range, typename T>
4329
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4330
        Range range,
4331
        float_reader<CharT>& rd,
4332
        function_ref<read_source_callback_type<Range>> read_source_cb,
4333
        T& value,
4334
        detail::locale_ref loc = {})
4335
2.41k
    {
4336
2.41k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
2.41k
            SCN_UNLIKELY(!r)) {
4338
576
            return unexpected(r.error());
4339
576
        }
4340
4341
1.83k
        SCN_TRY(n, rd.parse_value(value));
4342
94
        return ranges::next(range.begin(), n);
4343
1.83k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
368
    {
4336
368
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
368
            SCN_UNLIKELY(!r)) {
4338
368
            return unexpected(r.error());
4339
368
        }
4340
4341
0
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
924
    {
4336
924
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
924
            SCN_UNLIKELY(!r)) {
4338
22
            return unexpected(r.error());
4339
22
        }
4340
4341
902
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
902
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
188
    {
4336
188
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
188
            SCN_UNLIKELY(!r)) {
4338
168
            return unexpected(r.error());
4339
168
        }
4340
4341
20
        SCN_TRY(n, rd.parse_value(value));
4342
20
        return ranges::next(range.begin(), n);
4343
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
930
    {
4336
930
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
930
            SCN_UNLIKELY(!r)) {
4338
18
            return unexpected(r.error());
4339
18
        }
4340
4341
912
        SCN_TRY(n, rd.parse_value(value));
4342
74
        return ranges::next(range.begin(), n);
4343
912
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4344
4345
    static unsigned get_options(const detail::format_specs& specs)
4346
1.29k
    {
4347
1.29k
        unsigned options{};
4348
1.29k
        if (specs.localized) {
4349
50
            options |= float_reader_base::allow_thsep;
4350
50
        }
4351
4352
1.29k
        SCN_GCC_COMPAT_PUSH
4353
1.29k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
1.29k
        switch (specs.type) {
4356
48
            case detail::presentation_type::float_fixed:
4357
48
                return options | float_reader_base::allow_fixed;
4358
4359
24
            case detail::presentation_type::float_scientific:
4360
24
                return options | float_reader_base::allow_scientific;
4361
4362
88
            case detail::presentation_type::float_hex:
4363
88
                return options | float_reader_base::allow_hex;
4364
4365
14
            case detail::presentation_type::float_general:
4366
14
                return options | float_reader_base::allow_scientific |
4367
14
                       float_reader_base::allow_fixed;
4368
4369
1.12k
            case detail::presentation_type::none:
4370
1.12k
                return options | float_reader_base::allow_scientific |
4371
1.12k
                       float_reader_base::allow_fixed |
4372
1.12k
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
1.29k
                SCN_UNREACHABLE;
4377
1.29k
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
1.29k
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
664
    {
4347
664
        unsigned options{};
4348
664
        if (specs.localized) {
4349
18
            options |= float_reader_base::allow_thsep;
4350
18
        }
4351
4352
664
        SCN_GCC_COMPAT_PUSH
4353
664
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
664
        switch (specs.type) {
4356
28
            case detail::presentation_type::float_fixed:
4357
28
                return options | float_reader_base::allow_fixed;
4358
4359
14
            case detail::presentation_type::float_scientific:
4360
14
                return options | float_reader_base::allow_scientific;
4361
4362
16
            case detail::presentation_type::float_hex:
4363
16
                return options | float_reader_base::allow_hex;
4364
4365
12
            case detail::presentation_type::float_general:
4366
12
                return options | float_reader_base::allow_scientific |
4367
12
                       float_reader_base::allow_fixed;
4368
4369
594
            case detail::presentation_type::none:
4370
594
                return options | float_reader_base::allow_scientific |
4371
594
                       float_reader_base::allow_fixed |
4372
594
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
664
                SCN_UNREACHABLE;
4377
664
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
664
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
632
    {
4347
632
        unsigned options{};
4348
632
        if (specs.localized) {
4349
32
            options |= float_reader_base::allow_thsep;
4350
32
        }
4351
4352
632
        SCN_GCC_COMPAT_PUSH
4353
632
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
632
        switch (specs.type) {
4356
20
            case detail::presentation_type::float_fixed:
4357
20
                return options | float_reader_base::allow_fixed;
4358
4359
10
            case detail::presentation_type::float_scientific:
4360
10
                return options | float_reader_base::allow_scientific;
4361
4362
72
            case detail::presentation_type::float_hex:
4363
72
                return options | float_reader_base::allow_hex;
4364
4365
2
            case detail::presentation_type::float_general:
4366
2
                return options | float_reader_base::allow_scientific |
4367
2
                       float_reader_base::allow_fixed;
4368
4369
528
            case detail::presentation_type::none:
4370
528
                return options | float_reader_base::allow_scientific |
4371
528
                       float_reader_base::allow_fixed |
4372
528
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
632
                SCN_UNREACHABLE;
4377
632
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
632
    }
4381
};
4382
4383
/////////////////////////////////////////////////////////////////
4384
// Regex reader
4385
/////////////////////////////////////////////////////////////////
4386
4387
#if !SCN_DISABLE_REGEX
4388
4389
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> scan_expected<std::regex_constants::syntax_option_type>
4392
{
4393
    std::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4395
#if SCN_HAS_STD_REGEX_MULTILINE
4396
        result |= std::regex_constants::multiline;
4397
#else
4398
        return detail::unexpected_scan_error(
4399
            scan_error::invalid_format_string,
4400
            "/m flag for regex isn't supported by regex backend");
4401
#endif
4402
    }
4403
    if ((flags & detail::regex_flags::singleline) !=
4404
        detail::regex_flags::none) {
4405
        return detail::unexpected_scan_error(
4406
            scan_error::invalid_format_string,
4407
            "/s flag for regex isn't supported by regex backend");
4408
    }
4409
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4410
        result |= std::regex_constants::icase;
4411
    }
4412
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4413
        result |= std::regex_constants::nosubs;
4414
    }
4415
    return result;
4416
}
4417
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4418
constexpr auto make_regex_flags(detail::regex_flags flags)
4419
    -> boost::regex_constants::syntax_option_type
4420
{
4421
    boost::regex_constants::syntax_option_type result{};
4422
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4423
        result |= boost::regex_constants::no_mod_m;
4424
    }
4425
    if ((flags & detail::regex_flags::singleline) !=
4426
        detail::regex_flags::none) {
4427
        result |= boost::regex_constants::mod_s;
4428
    }
4429
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4430
        result |= boost::regex_constants::icase;
4431
    }
4432
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4433
        result |= boost::regex_constants::nosubs;
4434
    }
4435
    return result;
4436
}
4437
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4438
inline auto make_regex_flags(detail::regex_flags flags)
4439
    -> std::pair<RE2::Options, std::string_view>
4440
318
{
4441
318
    RE2::Options opt{RE2::Quiet};
4442
318
    std::string_view stringflags{};
4443
4444
318
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4445
306
        stringflags = "(?m)";
4446
306
    }
4447
318
    if ((flags & detail::regex_flags::singleline) !=
4448
318
        detail::regex_flags::none) {
4449
6
        opt.set_dot_nl(true);
4450
6
    }
4451
318
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4452
6
        opt.set_case_sensitive(false);
4453
6
    }
4454
318
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4455
6
        opt.set_never_capture(true);
4456
6
    }
4457
4458
318
    return {opt, stringflags};
4459
318
}
4460
#endif  // SCN_REGEX_BACKEND == ...
4461
4462
template <typename CharT, typename Input>
4463
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4464
                            detail::regex_flags flags,
4465
                            Input input)
4466
    -> scan_expected<ranges::iterator_t<Input>>
4467
318
{
4468
318
    static_assert(ranges::contiguous_range<Input> &&
4469
318
                  ranges::borrowed_range<Input> &&
4470
318
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
318
    std::string flagged_pattern{};
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
306
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
306
        flagged_pattern.append(flagstr);
4556
306
        flagged_pattern.append(pattern);
4557
306
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
306
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
306
        flagged_pattern.append(flagstr);
4556
306
        flagged_pattern.append(pattern);
4557
306
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
4559
318
    if (!re.ok()) {
4560
84
        return detail::unexpected_scan_error(
4561
84
            scan_error::invalid_format_string,
4562
84
            "Failed to parse regular expression");
4563
84
    }
4564
4565
234
    auto new_input = detail::make_string_view_from_pointers(
4566
234
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
234
    bool found = re2::RE2::Consume(&new_input, re);
4568
234
    if (!found) {
4569
144
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
144
                                             "Regular expression didn't match");
4571
144
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
234
#endif  // SCN_REGEX_BACKEND == ...
4574
234
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4467
318
{
4468
318
    static_assert(ranges::contiguous_range<Input> &&
4469
318
                  ranges::borrowed_range<Input> &&
4470
318
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
318
    std::string flagged_pattern{};
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
318
            return re2::RE2{pattern, opts};
4553
318
        }
4554
318
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
318
        flagged_pattern.append(flagstr);
4556
318
        flagged_pattern.append(pattern);
4557
318
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
4559
318
    if (!re.ok()) {
4560
84
        return detail::unexpected_scan_error(
4561
84
            scan_error::invalid_format_string,
4562
84
            "Failed to parse regular expression");
4563
84
    }
4564
4565
234
    auto new_input = detail::make_string_view_from_pointers(
4566
234
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
234
    bool found = re2::RE2::Consume(&new_input, re);
4568
234
    if (!found) {
4569
144
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
144
                                             "Regular expression didn't match");
4571
144
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
234
#endif  // SCN_REGEX_BACKEND == ...
4574
234
}
4575
4576
template <typename CharT, typename Input>
4577
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4578
                             detail::regex_flags flags,
4579
                             Input input,
4580
                             basic_regex_matches<CharT>& value)
4581
    -> scan_expected<ranges::iterator_t<Input>>
4582
0
{
4583
0
    static_assert(ranges::contiguous_range<Input> &&
4584
0
                  ranges::borrowed_range<Input> &&
4585
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4586
4587
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4588
    std::basic_regex<CharT> re{};
4589
    try {
4590
        SCN_TRY(re_flags, make_regex_flags(flags));
4591
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4592
    }
4593
    catch (const std::regex_error&) {
4594
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4595
                                             "Invalid regex");
4596
    }
4597
4598
    std::match_results<const CharT*> matches{};
4599
    try {
4600
        bool found = std::regex_search(input.data(),
4601
                                       input.data() + input.size(), matches, re,
4602
                                       std::regex_constants::match_continuous);
4603
        if (!found || matches.prefix().matched) {
4604
            return detail::unexpected_scan_error(
4605
                scan_error::invalid_scanned_value,
4606
                "Regular expression didn't match");
4607
        }
4608
    }
4609
    catch (const std::regex_error&) {
4610
        return detail::unexpected_scan_error(
4611
            scan_error::invalid_format_string,
4612
            "Regex matching failed with an error");
4613
    }
4614
4615
    value.resize(matches.size());
4616
    std::transform(matches.begin(), matches.end(), value.begin(),
4617
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4618
                       if (!match.matched)
4619
                           return std::nullopt;
4620
                       return detail::make_string_view_from_pointers(
4621
                           match.first, match.second);
4622
                   });
4623
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4624
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4625
    std::vector<std::basic_string<CharT>> names;
4626
    for (size_t i = 0; i < pattern.size();) {
4627
        if constexpr (std::is_same_v<CharT, char>) {
4628
            i = pattern.find("(?<", i);
4629
        }
4630
        else {
4631
            i = pattern.find(L"(?<", i);
4632
        }
4633
4634
        if (i == std::basic_string_view<CharT>::npos) {
4635
            break;
4636
        }
4637
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4638
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4639
                i += 3;
4640
                continue;
4641
            }
4642
        }
4643
4644
        i += 3;
4645
        auto end_i = pattern.find(CharT{'>'}, i);
4646
        if (end_i == std::basic_string_view<CharT>::npos) {
4647
            break;
4648
        }
4649
        names.emplace_back(pattern.substr(i, end_i - i));
4650
    }
4651
4652
    auto re =
4653
#if SCN_REGEX_BOOST_USE_ICU
4654
        boost::make_u32regex(
4655
            pattern.data(), pattern.data() + pattern.size(),
4656
            make_regex_flags(flags) | boost::regex_constants::no_except);
4657
#else
4658
        boost::basic_regex<CharT>{
4659
            pattern.data(), pattern.size(),
4660
            make_regex_flags(flags) | boost::regex_constants::no_except};
4661
#endif
4662
    if (re.status() != 0) {
4663
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4664
                                             "Invalid regex");
4665
    }
4666
4667
    boost::match_results<const CharT*> matches{};
4668
    try {
4669
        bool found =
4670
#if SCN_REGEX_BOOST_USE_ICU
4671
            boost::u32regex_search(input.data(), input.data() + input.size(),
4672
                                   matches, re,
4673
                                   boost::regex_constants::match_continuous);
4674
#else
4675
            boost::regex_search(input.data(), input.data() + input.size(),
4676
                                matches, re,
4677
                                boost::regex_constants::match_continuous);
4678
#endif
4679
        if (!found || matches.prefix().matched) {
4680
            return detail::unexpected_scan_error(
4681
                scan_error::invalid_scanned_value,
4682
                "Regular expression didn't match");
4683
        }
4684
    }
4685
    catch (const std::runtime_error&) {
4686
        return detail::unexpected_scan_error(
4687
            scan_error::invalid_format_string,
4688
            "Regex matching failed with an error");
4689
    }
4690
4691
    value.resize(matches.size());
4692
    std::transform(
4693
        matches.begin(), matches.end(), value.begin(),
4694
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4695
            if (!match.matched)
4696
                return std::nullopt;
4697
            auto sv = detail::make_string_view_from_pointers(match.first,
4698
                                                             match.second);
4699
4700
            if (auto name_it = std::find_if(
4701
                    names.begin(), names.end(),
4702
                    [&](const auto& name) { return match == matches[name]; });
4703
                name_it != names.end()) {
4704
                return basic_regex_match<CharT>{sv, *name_it};
4705
            }
4706
            return sv;
4707
        });
4708
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4709
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4710
    static_assert(std::is_same_v<CharT, char>);
4711
0
    std::string flagged_pattern{};
4712
0
    auto re = [&]() {
4713
0
        auto [opts, flagstr] = make_regex_flags(flags);
4714
0
        if (flagstr.empty()) {
4715
0
            return re2::RE2{pattern, opts};
4716
0
        }
4717
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4718
0
        flagged_pattern.append(flagstr);
4719
0
        flagged_pattern.append(pattern);
4720
0
        return re2::RE2{flagged_pattern, opts};
4721
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4722
0
    if (!re.ok()) {
4723
0
        return detail::unexpected_scan_error(
4724
0
            scan_error::invalid_format_string,
4725
0
            "Failed to parse regular expression");
4726
0
    }
4727
    // TODO: Optimize into a single batch allocation
4728
0
    const auto max_matches_n =
4729
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4730
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4731
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4732
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4733
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4734
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4735
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4736
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4737
0
    auto new_input = detail::make_string_view_from_pointers(
4738
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4739
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4740
0
                                    match_argptrs.size());
4741
0
    if (!found) {
4742
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4743
0
                                             "Regular expression didn't match");
4744
0
    }
4745
0
    value.resize(matches.size() + 1);
4746
0
    value[0] =
4747
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4748
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4749
0
                   [&](auto&& match) -> std::optional<regex_match> {
4750
0
                       if (!match)
4751
0
                           return std::nullopt;
4752
0
                       return *match;
4753
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4754
0
    {
4755
0
        const auto& capturing_groups = re.CapturingGroupNames();
4756
0
        for (size_t i = 1; i < value.size(); ++i) {
4757
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4758
0
                it != capturing_groups.end()) {
4759
0
                auto val = value[i]->get();
4760
0
                value[i].emplace(val, it->second);
4761
0
            };
4762
0
        }
4763
0
    }
4764
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4765
0
#endif  // SCN_REGEX_BACKEND == ...
4766
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4767
4768
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4769
390
{
4770
390
    std::string result{pattern};
4771
3.77k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4772
3.38k
        result.replace(n, 2, "/");
4773
3.38k
        ++n;
4774
3.38k
    }
4775
390
    return result;
4776
390
}
4777
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4778
0
{
4779
0
    std::wstring result{pattern};
4780
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4781
0
        result.replace(n, 2, L"/");
4782
0
        ++n;
4783
0
    }
4784
0
    return result;
4785
0
}
4786
4787
template <typename SourceCharT>
4788
struct regex_matches_reader
4789
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4790
    void check_specs_impl(const detail::format_specs& specs,
4791
                          reader_error_handler& eh)
4792
0
    {
4793
0
        detail::check_regex_type_specs(specs, eh);
4794
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4795
0
        SCN_EXPECT(specs.charset_string_size > 0);
4796
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4797
4798
    template <typename Range, typename DestCharT>
4799
    auto read_default(Range,
4800
                      basic_regex_matches<DestCharT>&,
4801
                      detail::locale_ref = {})
4802
        -> scan_expected<ranges::const_iterator_t<Range>>
4803
    {
4804
        return detail::unexpected_scan_error(
4805
            scan_error::invalid_format_string,
4806
            "No regex given in format string for scanning regex_matches");
4807
    }
4808
4809
    template <typename Range, typename DestCharT>
4810
    auto read_specs(Range range,
4811
                    const detail::format_specs& specs,
4812
                    basic_regex_matches<DestCharT>& value,
4813
                    detail::locale_ref = {})
4814
        -> scan_expected<ranges::const_iterator_t<Range>>
4815
0
    {
4816
0
        SCN_UNUSED(range);
4817
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4818
0
            return detail::unexpected_scan_error(
4819
0
                scan_error::invalid_format_string,
4820
0
                "Cannot transcode is regex_matches_reader");
4821
        }
4822
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4823
0
                           !std::is_same_v<SourceCharT, char>) {
4824
0
            return detail::unexpected_scan_error(
4825
0
                scan_error::invalid_format_string,
4826
0
                "Regex backend doesn't support wide strings as input");
4827
        }
4828
0
        else {
4829
0
            if (!is_entire_source_contiguous(range)) {
4830
0
                return detail::unexpected_scan_error(
4831
0
                    scan_error::invalid_format_string,
4832
0
                    "Cannot use regex with a non-contiguous source "
4833
0
                    "range");
4834
0
            }
4835
4836
0
            auto input = get_as_contiguous(range);
4837
0
            SCN_TRY(it,
4838
0
                    impl(input,
4839
0
                         specs.type == detail::presentation_type::regex_escaped,
4840
0
                         specs.charset_string<SourceCharT>(),
4841
0
                         specs.regexp_flags, value));
4842
0
            return ranges::next(range.begin(),
4843
0
                                ranges::distance(input.begin(), it));
4844
0
        }
4845
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4846
4847
private:
4848
    template <typename Range, typename DestCharT>
4849
    auto impl(Range input,
4850
              bool is_escaped,
4851
              std::basic_string_view<SourceCharT> pattern,
4852
              detail::regex_flags flags,
4853
              basic_regex_matches<DestCharT>& value)
4854
0
    {
4855
        if constexpr (detail::is_type_disabled<
4856
                          basic_regex_matches<DestCharT>>) {
4857
            SCN_EXPECT(false);
4858
            SCN_UNREACHABLE;
4859
        }
4860
0
        else {
4861
0
            if (is_escaped) {
4862
0
                return read_regex_matches_impl<SourceCharT>(
4863
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4864
0
            }
4865
0
            return read_regex_matches_impl(pattern, flags, input, value);
4866
0
        }
4867
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4868
};
4869
4870
template <typename CharT>
4871
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4872
4873
#endif  // !SCN_DISABLE_REGEX
4874
4875
/////////////////////////////////////////////////////////////////
4876
// String reader
4877
/////////////////////////////////////////////////////////////////
4878
4879
template <typename Range, typename Iterator, typename ValueCharT>
4880
auto read_string_impl(Range range,
4881
                      Iterator&& result,
4882
                      std::basic_string<ValueCharT>& value)
4883
    -> scan_expected<ranges::const_iterator_t<Range>>
4884
7.44k
{
4885
7.44k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
7.44k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
7.44k
    if (!validate_unicode(src.view())) {
4889
1.93k
        return detail::unexpected_scan_error(
4890
1.93k
            scan_error::invalid_scanned_value,
4891
1.93k
            "Invalid encoding in scanned string");
4892
1.93k
    }
4893
4894
5.51k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
5.51k
    return SCN_MOVE(result);
4896
5.51k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
484
{
4885
484
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
484
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
484
    if (!validate_unicode(src.view())) {
4889
186
        return detail::unexpected_scan_error(
4890
186
            scan_error::invalid_scanned_value,
4891
186
            "Invalid encoding in scanned string");
4892
186
    }
4893
4894
298
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
298
    return SCN_MOVE(result);
4896
298
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
268
{
4885
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
268
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
268
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
176
    return SCN_MOVE(result);
4896
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.01k
{
4885
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.01k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.01k
    if (!validate_unicode(src.view())) {
4889
322
        return detail::unexpected_scan_error(
4890
322
            scan_error::invalid_scanned_value,
4891
322
            "Invalid encoding in scanned string");
4892
322
    }
4893
4894
696
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
696
    return SCN_MOVE(result);
4896
696
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
492
{
4885
492
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
492
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
492
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
440
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
440
    return SCN_MOVE(result);
4896
440
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
484
{
4885
484
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
484
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
484
    if (!validate_unicode(src.view())) {
4889
186
        return detail::unexpected_scan_error(
4890
186
            scan_error::invalid_scanned_value,
4891
186
            "Invalid encoding in scanned string");
4892
186
    }
4893
4894
298
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
298
    return SCN_MOVE(result);
4896
298
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
268
{
4885
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
268
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
268
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
176
    return SCN_MOVE(result);
4896
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.01k
{
4885
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.01k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.01k
    if (!validate_unicode(src.view())) {
4889
322
        return detail::unexpected_scan_error(
4890
322
            scan_error::invalid_scanned_value,
4891
322
            "Invalid encoding in scanned string");
4892
322
    }
4893
4894
696
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
696
    return SCN_MOVE(result);
4896
696
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
492
{
4885
492
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
492
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
492
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
440
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
440
    return SCN_MOVE(result);
4896
440
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
204
{
4885
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
204
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
204
    if (!validate_unicode(src.view())) {
4889
70
        return detail::unexpected_scan_error(
4890
70
            scan_error::invalid_scanned_value,
4891
70
            "Invalid encoding in scanned string");
4892
70
    }
4893
4894
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
134
    return SCN_MOVE(result);
4896
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
172
{
4885
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
172
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
900
{
4885
900
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
900
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
900
    if (!validate_unicode(src.view())) {
4889
234
        return detail::unexpected_scan_error(
4890
234
            scan_error::invalid_scanned_value,
4891
234
            "Invalid encoding in scanned string");
4892
234
    }
4893
4894
666
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
666
    return SCN_MOVE(result);
4896
666
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
184
{
4885
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
184
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
184
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
204
{
4885
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
204
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
204
    if (!validate_unicode(src.view())) {
4889
70
        return detail::unexpected_scan_error(
4890
70
            scan_error::invalid_scanned_value,
4891
70
            "Invalid encoding in scanned string");
4892
70
    }
4893
4894
134
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
134
    return SCN_MOVE(result);
4896
134
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
172
{
4885
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
172
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
900
{
4885
900
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
900
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
900
    if (!validate_unicode(src.view())) {
4889
234
        return detail::unexpected_scan_error(
4890
234
            scan_error::invalid_scanned_value,
4891
234
            "Invalid encoding in scanned string");
4892
234
    }
4893
4894
666
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
666
    return SCN_MOVE(result);
4896
666
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
184
{
4885
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
184
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
184
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
4897
4898
template <typename Range, typename Iterator, typename ValueCharT>
4899
auto read_string_view_impl(Range range,
4900
                           Iterator&& result,
4901
                           std::basic_string_view<ValueCharT>& value)
4902
    -> scan_expected<ranges::const_iterator_t<Range>>
4903
3.72k
{
4904
3.72k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
3.72k
    auto src = [&]() {
4907
3.72k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.12k
            return make_contiguous_buffer(
4909
1.12k
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
2.59k
        else {
4912
2.59k
            return make_contiguous_buffer(
4913
2.59k
                ranges::subrange{range.begin(), result});
4914
2.59k
        }
4915
3.72k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
484
    auto src = [&]() {
4907
484
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
484
            return make_contiguous_buffer(
4909
484
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
484
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
268
    auto src = [&]() {
4907
268
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
268
            return make_contiguous_buffer(
4909
268
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
268
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
1.01k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
1.01k
        else {
4912
1.01k
            return make_contiguous_buffer(
4913
1.01k
                ranges::subrange{range.begin(), result});
4914
1.01k
        }
4915
1.01k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
492
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
492
        else {
4912
492
            return make_contiguous_buffer(
4913
492
                ranges::subrange{range.begin(), result});
4914
492
        }
4915
492
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
204
    auto src = [&]() {
4907
204
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
204
            return make_contiguous_buffer(
4909
204
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
204
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
172
    auto src = [&]() {
4907
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
172
            return make_contiguous_buffer(
4909
172
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
172
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
900
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
900
        else {
4912
900
            return make_contiguous_buffer(
4913
900
                ranges::subrange{range.begin(), result});
4914
900
        }
4915
900
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
184
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
184
        else {
4912
184
            return make_contiguous_buffer(
4913
184
                ranges::subrange{range.begin(), result});
4914
184
        }
4915
184
    }();
4916
3.72k
    using src_type = decltype(src);
4917
4918
3.72k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
3.72k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
0
                                             "Cannot read a string_view from "
4927
0
                                             "this source range (would require "
4928
0
                                             "transcoding)");
4929
    }
4930
3.72k
    else {
4931
3.72k
        const auto view = src.view();
4932
3.72k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
3.72k
        if (!validate_unicode(value)) {
4935
966
            return detail::unexpected_scan_error(
4936
966
                scan_error::invalid_scanned_value,
4937
966
                "Invalid encoding in scanned string_view");
4938
966
        }
4939
4940
2.75k
        return SCN_MOVE(result);
4941
3.72k
    }
4942
3.72k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
484
{
4904
484
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
484
    auto src = [&]() {
4907
484
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
484
            return make_contiguous_buffer(
4909
484
                ranges::subrange{range.begin().base(), result.base()});
4910
484
        }
4911
484
        else {
4912
484
            return make_contiguous_buffer(
4913
484
                ranges::subrange{range.begin(), result});
4914
484
        }
4915
484
    }();
4916
484
    using src_type = decltype(src);
4917
4918
484
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
484
    else {
4931
484
        const auto view = src.view();
4932
484
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
484
        if (!validate_unicode(value)) {
4935
186
            return detail::unexpected_scan_error(
4936
186
                scan_error::invalid_scanned_value,
4937
186
                "Invalid encoding in scanned string_view");
4938
186
        }
4939
4940
298
        return SCN_MOVE(result);
4941
484
    }
4942
484
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
268
{
4904
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
268
    auto src = [&]() {
4907
268
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
268
            return make_contiguous_buffer(
4909
268
                ranges::subrange{range.begin().base(), result.base()});
4910
268
        }
4911
268
        else {
4912
268
            return make_contiguous_buffer(
4913
268
                ranges::subrange{range.begin(), result});
4914
268
        }
4915
268
    }();
4916
268
    using src_type = decltype(src);
4917
4918
268
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
268
    else {
4931
268
        const auto view = src.view();
4932
268
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
268
        if (!validate_unicode(value)) {
4935
92
            return detail::unexpected_scan_error(
4936
92
                scan_error::invalid_scanned_value,
4937
92
                "Invalid encoding in scanned string_view");
4938
92
        }
4939
4940
176
        return SCN_MOVE(result);
4941
268
    }
4942
268
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
1.01k
{
4904
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
1.01k
    auto src = [&]() {
4907
1.01k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.01k
            return make_contiguous_buffer(
4909
1.01k
                ranges::subrange{range.begin().base(), result.base()});
4910
1.01k
        }
4911
1.01k
        else {
4912
1.01k
            return make_contiguous_buffer(
4913
1.01k
                ranges::subrange{range.begin(), result});
4914
1.01k
        }
4915
1.01k
    }();
4916
1.01k
    using src_type = decltype(src);
4917
4918
1.01k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
1.01k
    else {
4931
1.01k
        const auto view = src.view();
4932
1.01k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
1.01k
        if (!validate_unicode(value)) {
4935
322
            return detail::unexpected_scan_error(
4936
322
                scan_error::invalid_scanned_value,
4937
322
                "Invalid encoding in scanned string_view");
4938
322
        }
4939
4940
696
        return SCN_MOVE(result);
4941
1.01k
    }
4942
1.01k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
492
{
4904
492
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
492
    auto src = [&]() {
4907
492
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
492
            return make_contiguous_buffer(
4909
492
                ranges::subrange{range.begin().base(), result.base()});
4910
492
        }
4911
492
        else {
4912
492
            return make_contiguous_buffer(
4913
492
                ranges::subrange{range.begin(), result});
4914
492
        }
4915
492
    }();
4916
492
    using src_type = decltype(src);
4917
4918
492
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
492
    else {
4931
492
        const auto view = src.view();
4932
492
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
492
        if (!validate_unicode(value)) {
4935
52
            return detail::unexpected_scan_error(
4936
52
                scan_error::invalid_scanned_value,
4937
52
                "Invalid encoding in scanned string_view");
4938
52
        }
4939
4940
440
        return SCN_MOVE(result);
4941
492
    }
4942
492
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
204
{
4904
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
204
    auto src = [&]() {
4907
204
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
204
            return make_contiguous_buffer(
4909
204
                ranges::subrange{range.begin().base(), result.base()});
4910
204
        }
4911
204
        else {
4912
204
            return make_contiguous_buffer(
4913
204
                ranges::subrange{range.begin(), result});
4914
204
        }
4915
204
    }();
4916
204
    using src_type = decltype(src);
4917
4918
204
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
204
    else {
4931
204
        const auto view = src.view();
4932
204
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
204
        if (!validate_unicode(value)) {
4935
70
            return detail::unexpected_scan_error(
4936
70
                scan_error::invalid_scanned_value,
4937
70
                "Invalid encoding in scanned string_view");
4938
70
        }
4939
4940
134
        return SCN_MOVE(result);
4941
204
    }
4942
204
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
172
{
4904
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
172
    auto src = [&]() {
4907
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
172
            return make_contiguous_buffer(
4909
172
                ranges::subrange{range.begin().base(), result.base()});
4910
172
        }
4911
172
        else {
4912
172
            return make_contiguous_buffer(
4913
172
                ranges::subrange{range.begin(), result});
4914
172
        }
4915
172
    }();
4916
172
    using src_type = decltype(src);
4917
4918
172
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
172
    else {
4931
172
        const auto view = src.view();
4932
172
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
172
        if (!validate_unicode(value)) {
4935
4
            return detail::unexpected_scan_error(
4936
4
                scan_error::invalid_scanned_value,
4937
4
                "Invalid encoding in scanned string_view");
4938
4
        }
4939
4940
168
        return SCN_MOVE(result);
4941
172
    }
4942
172
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
900
{
4904
900
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
900
    auto src = [&]() {
4907
900
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
900
            return make_contiguous_buffer(
4909
900
                ranges::subrange{range.begin().base(), result.base()});
4910
900
        }
4911
900
        else {
4912
900
            return make_contiguous_buffer(
4913
900
                ranges::subrange{range.begin(), result});
4914
900
        }
4915
900
    }();
4916
900
    using src_type = decltype(src);
4917
4918
900
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
900
    else {
4931
900
        const auto view = src.view();
4932
900
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
900
        if (!validate_unicode(value)) {
4935
234
            return detail::unexpected_scan_error(
4936
234
                scan_error::invalid_scanned_value,
4937
234
                "Invalid encoding in scanned string_view");
4938
234
        }
4939
4940
666
        return SCN_MOVE(result);
4941
900
    }
4942
900
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
184
{
4904
184
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
184
    auto src = [&]() {
4907
184
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
184
            return make_contiguous_buffer(
4909
184
                ranges::subrange{range.begin().base(), result.base()});
4910
184
        }
4911
184
        else {
4912
184
            return make_contiguous_buffer(
4913
184
                ranges::subrange{range.begin(), result});
4914
184
        }
4915
184
    }();
4916
184
    using src_type = decltype(src);
4917
4918
184
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
184
    else {
4931
184
        const auto view = src.view();
4932
184
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
184
        if (!validate_unicode(value)) {
4935
6
            return detail::unexpected_scan_error(
4936
6
                scan_error::invalid_scanned_value,
4937
6
                "Invalid encoding in scanned string_view");
4938
6
        }
4939
4940
178
        return SCN_MOVE(result);
4941
184
    }
4942
184
}
4943
4944
template <typename SourceCharT>
4945
class word_reader_impl {
4946
public:
4947
    template <typename Range, typename ValueCharT>
4948
    auto read(Range range, std::basic_string<ValueCharT>& value)
4949
        -> scan_expected<ranges::const_iterator_t<Range>>
4950
4.61k
    {
4951
4.61k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
4.61k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
324
    {
4951
324
        return read_string_impl(range, read_until_classic_space(range), value);
4952
324
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
966
    {
4951
966
        return read_string_impl(range, read_until_classic_space(range), value);
4952
966
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
324
    {
4951
324
        return read_string_impl(range, read_until_classic_space(range), value);
4952
324
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
966
    {
4951
966
        return read_string_impl(range, read_until_classic_space(range), value);
4952
966
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
866
    {
4951
866
        return read_string_impl(range, read_until_classic_space(range), value);
4952
866
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
866
    {
4951
866
        return read_string_impl(range, read_until_classic_space(range), value);
4952
866
    }
4953
4954
    template <typename Range, typename ValueCharT>
4955
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4956
        -> scan_expected<ranges::const_iterator_t<Range>>
4957
2.30k
    {
4958
2.30k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
2.30k
                                     value);
4960
2.30k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
324
    {
4958
324
        return read_string_view_impl(range, read_until_classic_space(range),
4959
324
                                     value);
4960
324
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
966
    {
4958
966
        return read_string_view_impl(range, read_until_classic_space(range),
4959
966
                                     value);
4960
966
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
150
    {
4958
150
        return read_string_view_impl(range, read_until_classic_space(range),
4959
150
                                     value);
4960
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
866
    {
4958
866
        return read_string_view_impl(range, read_until_classic_space(range),
4959
866
                                     value);
4960
866
    }
4961
};
4962
4963
template <typename SourceCharT>
4964
class custom_word_reader_impl {
4965
public:
4966
    template <typename Range, typename ValueCharT>
4967
    auto read(Range range,
4968
              const detail::format_specs& specs,
4969
              std::basic_string<ValueCharT>& value)
4970
        -> scan_expected<ranges::const_iterator_t<Range>>
4971
432
    {
4972
432
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
268
            return read_string_impl(
4974
268
                range,
4975
268
                read_until_code_unit(
4976
268
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
268
                value);
4978
268
        }
4979
164
        return read_string_impl(
4980
164
            range,
4981
164
            read_until_code_units(
4982
164
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
164
            value);
4984
432
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
102
    {
4972
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
50
            return read_string_impl(
4974
50
                range,
4975
50
                read_until_code_unit(
4976
50
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
50
                value);
4978
50
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
102
    {
4972
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
50
            return read_string_impl(
4974
50
                range,
4975
50
                read_until_code_unit(
4976
50
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
50
                value);
4978
50
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
28
    {
4972
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
28
            return read_string_impl(
4974
28
                range,
4975
28
                read_until_code_unit(
4976
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
28
                value);
4978
28
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
34
    {
4972
34
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
34
            return read_string_impl(
4974
34
                range,
4975
34
                read_until_code_unit(
4976
34
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
34
                value);
4978
34
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
34
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
28
    {
4972
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
28
            return read_string_impl(
4974
28
                range,
4975
28
                read_until_code_unit(
4976
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
28
                value);
4978
28
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
34
    {
4972
34
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
34
            return read_string_impl(
4974
34
                range,
4975
34
                read_until_code_unit(
4976
34
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
34
                value);
4978
34
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
34
    }
4985
4986
    template <typename Range, typename ValueCharT>
4987
    auto read(Range range,
4988
              const detail::format_specs& specs,
4989
              std::basic_string_view<ValueCharT>& value)
4990
        -> scan_expected<ranges::const_iterator_t<Range>>
4991
216
    {
4992
216
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
134
            return read_string_view_impl(
4994
134
                range,
4995
134
                read_until_code_unit(
4996
134
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
134
                value);
4998
134
        }
4999
82
        return read_string_view_impl(
5000
82
            range,
5001
82
            read_until_code_units(
5002
82
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
82
            value);
5004
216
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
102
    {
4992
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
50
            return read_string_view_impl(
4994
50
                range,
4995
50
                read_until_code_unit(
4996
50
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
50
                value);
4998
50
        }
4999
52
        return read_string_view_impl(
5000
52
            range,
5001
52
            read_until_code_units(
5002
52
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
52
            value);
5004
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
52
    {
4992
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
22
            return read_string_view_impl(
4994
22
                range,
4995
22
                read_until_code_unit(
4996
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
22
                value);
4998
22
        }
4999
30
        return read_string_view_impl(
5000
30
            range,
5001
30
            read_until_code_units(
5002
30
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
30
            value);
5004
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
28
    {
4992
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
28
            return read_string_view_impl(
4994
28
                range,
4995
28
                read_until_code_unit(
4996
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
28
                value);
4998
28
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
34
    {
4992
34
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
34
            return read_string_view_impl(
4994
34
                range,
4995
34
                read_until_code_unit(
4996
34
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
34
                value);
4998
34
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
34
    }
5005
};
5006
5007
#if !SCN_DISABLE_REGEX
5008
template <typename SourceCharT>
5009
class regex_string_reader_impl {
5010
public:
5011
    template <typename Range, typename ValueCharT>
5012
    auto read(Range range,
5013
              std::basic_string_view<SourceCharT> pattern,
5014
              detail::regex_flags flags,
5015
              std::basic_string<ValueCharT>& value)
5016
        -> scan_expected<ranges::const_iterator_t<Range>>
5017
328
    {
5018
328
        SCN_TRY(it, impl(range, pattern, flags));
5019
60
        return read_string_impl(range, it, value);
5020
328
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
58
    {
5018
58
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
58
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
106
    {
5018
106
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
58
    {
5018
58
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
58
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
106
    {
5018
106
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
5021
5022
    template <typename Range, typename ValueCharT>
5023
    auto read(Range range,
5024
              std::basic_string_view<SourceCharT> pattern,
5025
              detail::regex_flags flags,
5026
              std::basic_string_view<ValueCharT>& value)
5027
        -> scan_expected<ranges::const_iterator_t<Range>>
5028
164
    {
5029
164
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
164
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
5028
58
    {
5029
58
        SCN_TRY(it, impl(range, pattern, flags));
5030
0
        return read_string_view_impl(range, it, value);
5031
58
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
5028
106
    {
5029
106
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5032
5033
private:
5034
    template <typename Range>
5035
    auto impl(Range range,
5036
              std::basic_string_view<SourceCharT> pattern,
5037
              detail::regex_flags flags)
5038
        -> scan_expected<ranges::const_iterator_t<Range>>
5039
492
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
0
                      !std::is_same_v<SourceCharT, char>) {
5042
0
            return detail::unexpected_scan_error(
5043
0
                scan_error::invalid_format_string,
5044
0
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
492
        else {
5047
492
            if (!is_entire_source_contiguous(range)) {
5048
174
                return detail::unexpected_scan_error(
5049
174
                    scan_error::invalid_format_string,
5050
174
                    "Cannot use regex with a non-contiguous source "
5051
174
                    "range");
5052
174
            }
5053
5054
318
            auto input = get_as_contiguous(range);
5055
318
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
318
        }
5060
492
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
174
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
174
        else {
5047
174
            if (!is_entire_source_contiguous(range)) {
5048
174
                return detail::unexpected_scan_error(
5049
174
                    scan_error::invalid_format_string,
5050
174
                    "Cannot use regex with a non-contiguous source "
5051
174
                    "range");
5052
174
            }
5053
5054
0
            auto input = get_as_contiguous(range);
5055
0
            SCN_TRY(it,
5056
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
0
            return ranges::next(range.begin(),
5058
0
                                ranges::distance(input.begin(), it));
5059
0
        }
5060
174
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
318
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
318
        else {
5047
318
            if (!is_entire_source_contiguous(range)) {
5048
0
                return detail::unexpected_scan_error(
5049
0
                    scan_error::invalid_format_string,
5050
0
                    "Cannot use regex with a non-contiguous source "
5051
0
                    "range");
5052
0
            }
5053
5054
318
            auto input = get_as_contiguous(range);
5055
318
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
318
        }
5060
318
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5061
};
5062
#endif
5063
5064
template <typename SourceCharT>
5065
class character_reader_impl {
5066
public:
5067
    // Note: no localized version,
5068
    // since it's equivalent in behavior
5069
5070
    template <typename Range, typename ValueCharT>
5071
    auto read(Range range, std::basic_string<ValueCharT>& value)
5072
        -> scan_expected<ranges::const_iterator_t<Range>>
5073
168
    {
5074
168
        return read_impl(
5075
168
            range,
5076
168
            [&](const auto& rng) {
5077
168
                return read_string_impl(rng, read_all(rng), value);
5078
168
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
168
            detail::priority_tag<1>{});
5080
168
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5081
5082
    template <typename Range, typename ValueCharT>
5083
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5084
        -> scan_expected<ranges::const_iterator_t<Range>>
5085
84
    {
5086
84
        return read_impl(
5087
84
            range,
5088
84
            [&](const auto& rng) {
5089
84
                return read_string_view_impl(rng, read_all(rng), value);
5090
84
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
84
            detail::priority_tag<1>{});
5092
84
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
58
    {
5086
58
        return read_impl(
5087
58
            range,
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
5091
58
            detail::priority_tag<1>{});
5092
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
26
    {
5086
26
        return read_impl(
5087
26
            range,
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
26
            detail::priority_tag<1>{});
5092
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5093
5094
private:
5095
    template <typename View, typename ReadCb>
5096
    static auto read_impl(const take_width_view<View>& range,
5097
                          ReadCb&& read_cb,
5098
                          detail::priority_tag<1>)
5099
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5100
252
    {
5101
252
        return read_cb(range);
5102
252
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
5103
5104
    template <typename Range, typename ReadCb>
5105
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5106
        -> scan_expected<ranges::const_iterator_t<Range>>
5107
0
    {
5108
0
        return detail::unexpected_scan_error(
5109
0
            scan_error::invalid_format_string,
5110
0
            "Cannot read characters {:c} without maximum field width");
5111
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5112
};
5113
5114
struct nonascii_specs_handler {
5115
    void on_charset_single(char32_t cp)
5116
348k
    {
5117
348k
        on_charset_range(cp, cp + 1);
5118
348k
    }
5119
5120
    void on_charset_range(char32_t begin, char32_t end)
5121
351k
    {
5122
351k
        if (end <= 127) {
5123
165k
            return;
5124
165k
        }
5125
5126
36.1M
        for (auto& elem : extra_ranges) {
5127
            // TODO: check for overlap
5128
36.1M
            if (elem.first == end) {
5129
546
                elem.first = begin;
5130
546
                return;
5131
546
            }
5132
5133
36.1M
            if (elem.second == begin) {
5134
1.61k
                elem.second = end;
5135
1.61k
                return;
5136
1.61k
            }
5137
36.1M
        }
5138
5139
184k
        extra_ranges.push_back(std::make_pair(begin, end));
5140
184k
    }
5141
5142
    constexpr void on_charset_inverted() const
5143
846
    {
5144
        // no-op
5145
846
    }
5146
5147
    constexpr void on_error(const char* msg)
5148
0
    {
5149
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5150
0
    }
5151
    constexpr void on_error(scan_error e)
5152
0
    {
5153
0
        SCN_UNLIKELY_ATTR
5154
0
        err = unexpected(e);
5155
0
    }
5156
5157
    constexpr scan_expected<void> get_error() const
5158
358k
    {
5159
358k
        return err;
5160
358k
    }
5161
5162
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5163
    scan_expected<void> err;
5164
};
5165
5166
template <typename SourceCharT>
5167
class character_set_reader_impl {
5168
public:
5169
    template <typename Range, typename ValueCharT>
5170
    auto read(Range range,
5171
              const detail::format_specs& specs,
5172
              std::basic_string<ValueCharT>& value)
5173
        -> scan_expected<ranges::const_iterator_t<Range>>
5174
3.00k
    {
5175
3.00k
        auto it = read_source_impl(range, {specs});
5176
3.00k
        if (SCN_UNLIKELY(!it)) {
5177
832
            return unexpected(it.error());
5178
832
        }
5179
5180
2.17k
        return read_string_impl(range, *it, value);
5181
3.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
276
    {
5175
276
        auto it = read_source_impl(range, {specs});
5176
276
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
268
        return read_string_impl(range, *it, value);
5181
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
842
    {
5175
842
        auto it = read_source_impl(range, {specs});
5176
842
        if (SCN_UNLIKELY(!it)) {
5177
380
            return unexpected(it.error());
5178
380
        }
5179
5180
462
        return read_string_impl(range, *it, value);
5181
842
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
276
    {
5175
276
        auto it = read_source_impl(range, {specs});
5176
276
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
268
        return read_string_impl(range, *it, value);
5181
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
842
    {
5175
842
        auto it = read_source_impl(range, {specs});
5176
842
        if (SCN_UNLIKELY(!it)) {
5177
380
            return unexpected(it.error());
5178
380
        }
5179
5180
462
        return read_string_impl(range, *it, value);
5181
842
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
182
    {
5175
182
        auto it = read_source_impl(range, {specs});
5176
182
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
172
        return read_string_impl(range, *it, value);
5181
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
202
    {
5175
202
        auto it = read_source_impl(range, {specs});
5176
202
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
184
        return read_string_impl(range, *it, value);
5181
202
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
182
    {
5175
182
        auto it = read_source_impl(range, {specs});
5176
182
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
172
        return read_string_impl(range, *it, value);
5181
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
202
    {
5175
202
        auto it = read_source_impl(range, {specs});
5176
202
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
184
        return read_string_impl(range, *it, value);
5181
202
    }
5182
5183
    template <typename Range, typename ValueCharT>
5184
    auto read(Range range,
5185
              const detail::format_specs& specs,
5186
              std::basic_string_view<ValueCharT>& value)
5187
        -> scan_expected<ranges::const_iterator_t<Range>>
5188
1.50k
    {
5189
1.50k
        auto it = read_source_impl(range, {specs});
5190
1.50k
        if (SCN_UNLIKELY(!it)) {
5191
416
            return unexpected(it.error());
5192
416
        }
5193
5194
1.08k
        return read_string_view_impl(range, *it, value);
5195
1.50k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
276
    {
5189
276
        auto it = read_source_impl(range, {specs});
5190
276
        if (SCN_UNLIKELY(!it)) {
5191
8
            return unexpected(it.error());
5192
8
        }
5193
5194
268
        return read_string_view_impl(range, *it, value);
5195
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
842
    {
5189
842
        auto it = read_source_impl(range, {specs});
5190
842
        if (SCN_UNLIKELY(!it)) {
5191
380
            return unexpected(it.error());
5192
380
        }
5193
5194
462
        return read_string_view_impl(range, *it, value);
5195
842
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
182
    {
5189
182
        auto it = read_source_impl(range, {specs});
5190
182
        if (SCN_UNLIKELY(!it)) {
5191
10
            return unexpected(it.error());
5192
10
        }
5193
5194
172
        return read_string_view_impl(range, *it, value);
5195
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
202
    {
5189
202
        auto it = read_source_impl(range, {specs});
5190
202
        if (SCN_UNLIKELY(!it)) {
5191
18
            return unexpected(it.error());
5192
18
        }
5193
5194
184
        return read_string_view_impl(range, *it, value);
5195
202
    }
5196
5197
private:
5198
    struct specs_helper {
5199
4.50k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
3.35k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
1.15k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5200
5201
        constexpr bool is_char_set_in_literals(char ch) const
5202
242k
        {
5203
242k
            SCN_EXPECT(is_ascii_char(ch));
5204
242k
            const auto val =
5205
242k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
242k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
242k
                    (val % 8)) &
5208
242k
                   1u;
5209
242k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
231k
        {
5203
231k
            SCN_EXPECT(is_ascii_char(ch));
5204
231k
            const auto val =
5205
231k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
231k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
231k
                    (val % 8)) &
5208
231k
                   1u;
5209
231k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
10.5k
        {
5203
10.5k
            SCN_EXPECT(is_ascii_char(ch));
5204
10.5k
            const auto val =
5205
10.5k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
10.5k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
10.5k
                    (val % 8)) &
5208
10.5k
                   1u;
5209
10.5k
        }
5210
5211
        bool is_char_set_in_extra_literals(char32_t cp) const
5212
44.3k
        {
5213
            // TODO: binary search?
5214
44.3k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
44.3k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
44.3k
            return std::find_if(
5220
44.3k
                       nonascii.extra_ranges.begin(),
5221
44.3k
                       nonascii.extra_ranges.end(),
5222
8.28M
                       [cp_val](const auto& pair) noexcept {
5223
8.28M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.28M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.28M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
8.26M
                       [cp_val](const auto& pair) noexcept {
5223
8.26M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.26M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.26M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
25.2k
                       [cp_val](const auto& pair) noexcept {
5223
25.2k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
25.2k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
25.2k
                       }) != nonascii.extra_ranges.end();
5226
44.3k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
41.6k
        {
5213
            // TODO: binary search?
5214
41.6k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
41.6k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
41.6k
            return std::find_if(
5220
41.6k
                       nonascii.extra_ranges.begin(),
5221
41.6k
                       nonascii.extra_ranges.end(),
5222
41.6k
                       [cp_val](const auto& pair) noexcept {
5223
41.6k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
41.6k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
41.6k
                       }) != nonascii.extra_ranges.end();
5226
41.6k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
2.68k
        {
5213
            // TODO: binary search?
5214
2.68k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
2.68k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
2.68k
            return std::find_if(
5220
2.68k
                       nonascii.extra_ranges.begin(),
5221
2.68k
                       nonascii.extra_ranges.end(),
5222
2.68k
                       [cp_val](const auto& pair) noexcept {
5223
2.68k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
2.68k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
2.68k
                       }) != nonascii.extra_ranges.end();
5226
2.68k
        }
5227
5228
        scan_expected<void> handle_nonascii()
5229
4.50k
        {
5230
4.50k
            if (!specs.charset_has_nonascii) {
5231
996
                return {};
5232
996
            }
5233
5234
3.51k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.51k
            auto it = detail::to_address(charset_string.begin());
5236
3.51k
            auto set = detail::parse_presentation_set(
5237
3.51k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.51k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.51k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.51k
            SCN_ENSURE(set == charset_string);
5241
5242
3.51k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.51k
                      nonascii.extra_ranges.end());
5244
3.51k
            return {};
5245
3.51k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5229
3.35k
        {
5230
3.35k
            if (!specs.charset_has_nonascii) {
5231
588
                return {};
5232
588
            }
5233
5234
2.76k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
2.76k
            auto it = detail::to_address(charset_string.begin());
5236
2.76k
            auto set = detail::parse_presentation_set(
5237
2.76k
                it, detail::to_address(charset_string.end()), nonascii);
5238
2.76k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
2.76k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
2.76k
            SCN_ENSURE(set == charset_string);
5241
5242
2.76k
            std::sort(nonascii.extra_ranges.begin(),
5243
2.76k
                      nonascii.extra_ranges.end());
5244
2.76k
            return {};
5245
2.76k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5229
1.15k
        {
5230
1.15k
            if (!specs.charset_has_nonascii) {
5231
408
                return {};
5232
408
            }
5233
5234
744
            auto charset_string = specs.charset_string<SourceCharT>();
5235
744
            auto it = detail::to_address(charset_string.begin());
5236
744
            auto set = detail::parse_presentation_set(
5237
744
                it, detail::to_address(charset_string.end()), nonascii);
5238
744
            SCN_TRY_DISCARD(nonascii.get_error());
5239
744
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
744
            SCN_ENSURE(set == charset_string);
5241
5242
744
            std::sort(nonascii.extra_ranges.begin(),
5243
744
                      nonascii.extra_ranges.end());
5244
744
            return {};
5245
744
        }
5246
5247
        const detail::format_specs& specs;
5248
        nonascii_specs_handler nonascii;
5249
    };
5250
5251
    struct read_source_callback {
5252
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5253
14.4k
        {
5254
14.4k
            if (!is_ascii_char(ch)) {
5255
2.10k
                return false;
5256
2.10k
            }
5257
5258
12.3k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
14.4k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5253
10.3k
        {
5254
10.3k
            if (!is_ascii_char(ch)) {
5255
1.89k
                return false;
5256
1.89k
            }
5257
5258
8.44k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
10.3k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5253
4.11k
        {
5254
4.11k
            if (!is_ascii_char(ch)) {
5255
204
                return false;
5256
204
            }
5257
5258
3.91k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
4.11k
        }
5260
5261
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5262
274k
        {
5263
274k
            if (!is_ascii_char(cp)) {
5264
44.3k
                return helper.is_char_set_in_extra_literals(cp);
5265
44.3k
            }
5266
5267
229k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
274k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
264k
        {
5263
264k
            if (!is_ascii_char(cp)) {
5264
41.6k
                return helper.is_char_set_in_extra_literals(cp);
5265
41.6k
            }
5266
5267
223k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
264k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
9.28k
        {
5263
9.28k
            if (!is_ascii_char(cp)) {
5264
2.68k
                return helper.is_char_set_in_extra_literals(cp);
5265
2.68k
            }
5266
5267
6.59k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
9.28k
        }
5269
5270
        const specs_helper& helper;
5271
        detail::locale_ref loc{};
5272
    };
5273
5274
    template <typename Range>
5275
    auto read_source_impl(Range range, specs_helper helper) const
5276
        -> scan_expected<ranges::const_iterator_t<Range>>
5277
4.50k
    {
5278
4.50k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
4.50k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
4.50k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
4.50k
        read_source_callback cb_wrapper{helper};
5284
5285
4.50k
        if (accepts_nonascii) {
5286
274k
            const auto cb = [&](char32_t cp) {
5287
274k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
274k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
10.2k
            const auto cb = [&](char32_t cp) {
5287
10.2k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
10.2k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
254k
            const auto cb = [&](char32_t cp) {
5287
254k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
254k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.29k
            const auto cb = [&](char32_t cp) {
5287
4.29k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.29k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.98k
            const auto cb = [&](char32_t cp) {
5287
4.98k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.98k
            };
5289
5290
3.51k
            if (is_inverted) {
5291
846
                auto it = read_until_code_point(range, cb);
5292
846
                return check_nonempty(it, range);
5293
846
            }
5294
2.66k
            auto it = read_while_code_point(range, cb);
5295
2.66k
            return check_nonempty(it, range);
5296
3.51k
        }
5297
5298
14.4k
        const auto cb = [&](SourceCharT ch) {
5299
14.4k
            return cb_wrapper.on_ascii_only(ch);
5300
14.4k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
7.21k
        const auto cb = [&](SourceCharT ch) {
5299
7.21k
            return cb_wrapper.on_ascii_only(ch);
5300
7.21k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
3.13k
        const auto cb = [&](SourceCharT ch) {
5299
3.13k
            return cb_wrapper.on_ascii_only(ch);
5300
3.13k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.84k
        const auto cb = [&](SourceCharT ch) {
5299
1.84k
            return cb_wrapper.on_ascii_only(ch);
5300
1.84k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
2.27k
        const auto cb = [&](SourceCharT ch) {
5299
2.27k
            return cb_wrapper.on_ascii_only(ch);
5300
2.27k
        };
5301
5302
996
        if (is_inverted) {
5303
474
            auto it = read_until_code_unit(range, cb);
5304
474
            return check_nonempty(it, range);
5305
474
        }
5306
522
        auto it = read_while_code_unit(range, cb);
5307
522
        return check_nonempty(it, range);
5308
996
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
828
    {
5278
828
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
828
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
828
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
828
        read_source_callback cb_wrapper{helper};
5284
5285
828
        if (accepts_nonascii) {
5286
450
            const auto cb = [&](char32_t cp) {
5287
450
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
450
            };
5289
5290
450
            if (is_inverted) {
5291
222
                auto it = read_until_code_point(range, cb);
5292
222
                return check_nonempty(it, range);
5293
222
            }
5294
228
            auto it = read_while_code_point(range, cb);
5295
228
            return check_nonempty(it, range);
5296
450
        }
5297
5298
378
        const auto cb = [&](SourceCharT ch) {
5299
378
            return cb_wrapper.on_ascii_only(ch);
5300
378
        };
5301
5302
378
        if (is_inverted) {
5303
174
            auto it = read_until_code_unit(range, cb);
5304
174
            return check_nonempty(it, range);
5305
174
        }
5306
204
        auto it = read_while_code_unit(range, cb);
5307
204
        return check_nonempty(it, range);
5308
378
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
2.52k
    {
5278
2.52k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
2.52k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
2.52k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
2.52k
        read_source_callback cb_wrapper{helper};
5284
5285
2.52k
        if (accepts_nonascii) {
5286
2.31k
            const auto cb = [&](char32_t cp) {
5287
2.31k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
2.31k
            };
5289
5290
2.31k
            if (is_inverted) {
5291
216
                auto it = read_until_code_point(range, cb);
5292
216
                return check_nonempty(it, range);
5293
216
            }
5294
2.10k
            auto it = read_while_code_point(range, cb);
5295
2.10k
            return check_nonempty(it, range);
5296
2.31k
        }
5297
5298
210
        const auto cb = [&](SourceCharT ch) {
5299
210
            return cb_wrapper.on_ascii_only(ch);
5300
210
        };
5301
5302
210
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
114
        auto it = read_while_code_unit(range, cb);
5307
114
        return check_nonempty(it, range);
5308
210
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
546
    {
5278
546
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
546
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
546
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
546
        read_source_callback cb_wrapper{helper};
5284
5285
546
        if (accepts_nonascii) {
5286
342
            const auto cb = [&](char32_t cp) {
5287
342
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
342
            };
5289
5290
342
            if (is_inverted) {
5291
198
                auto it = read_until_code_point(range, cb);
5292
198
                return check_nonempty(it, range);
5293
198
            }
5294
144
            auto it = read_while_code_point(range, cb);
5295
144
            return check_nonempty(it, range);
5296
342
        }
5297
5298
204
        const auto cb = [&](SourceCharT ch) {
5299
204
            return cb_wrapper.on_ascii_only(ch);
5300
204
        };
5301
5302
204
        if (is_inverted) {
5303
108
            auto it = read_until_code_unit(range, cb);
5304
108
            return check_nonempty(it, range);
5305
108
        }
5306
96
        auto it = read_while_code_unit(range, cb);
5307
96
        return check_nonempty(it, range);
5308
204
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
606
    {
5278
606
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
606
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
606
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
606
        read_source_callback cb_wrapper{helper};
5284
5285
606
        if (accepts_nonascii) {
5286
402
            const auto cb = [&](char32_t cp) {
5287
402
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
402
            };
5289
5290
402
            if (is_inverted) {
5291
210
                auto it = read_until_code_point(range, cb);
5292
210
                return check_nonempty(it, range);
5293
210
            }
5294
192
            auto it = read_while_code_point(range, cb);
5295
192
            return check_nonempty(it, range);
5296
402
        }
5297
5298
204
        const auto cb = [&](SourceCharT ch) {
5299
204
            return cb_wrapper.on_ascii_only(ch);
5300
204
        };
5301
5302
204
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
108
        auto it = read_while_code_unit(range, cb);
5307
108
        return check_nonempty(it, range);
5308
204
    }
5309
5310
    template <typename Iterator, typename Range>
5311
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5312
                                                  Range range)
5313
4.50k
    {
5314
4.50k
        if (it == range.begin()) {
5315
1.24k
            return detail::unexpected_scan_error(
5316
1.24k
                scan_error::invalid_scanned_value,
5317
1.24k
                "No characters matched in [character set]");
5318
1.24k
        }
5319
5320
3.25k
        return it;
5321
4.50k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5313
828
    {
5314
828
        if (it == range.begin()) {
5315
24
            return detail::unexpected_scan_error(
5316
24
                scan_error::invalid_scanned_value,
5317
24
                "No characters matched in [character set]");
5318
24
        }
5319
5320
804
        return it;
5321
828
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5313
2.52k
    {
5314
2.52k
        if (it == range.begin()) {
5315
1.14k
            return detail::unexpected_scan_error(
5316
1.14k
                scan_error::invalid_scanned_value,
5317
1.14k
                "No characters matched in [character set]");
5318
1.14k
        }
5319
5320
1.38k
        return it;
5321
2.52k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5313
546
    {
5314
546
        if (it == range.begin()) {
5315
30
            return detail::unexpected_scan_error(
5316
30
                scan_error::invalid_scanned_value,
5317
30
                "No characters matched in [character set]");
5318
30
        }
5319
5320
516
        return it;
5321
546
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5313
606
    {
5314
606
        if (it == range.begin()) {
5315
54
            return detail::unexpected_scan_error(
5316
54
                scan_error::invalid_scanned_value,
5317
54
                "No characters matched in [character set]");
5318
54
        }
5319
5320
552
        return it;
5321
606
    }
5322
};
5323
5324
template <typename SourceCharT>
5325
class string_reader
5326
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5327
public:
5328
14.0k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5328
8.90k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5328
5.16k
    constexpr string_reader() = default;
5329
5330
    void check_specs_impl(const detail::format_specs& specs,
5331
                          reader_error_handler& eh)
5332
10.7k
    {
5333
10.7k
        detail::check_string_type_specs(specs, eh);
5334
5335
10.7k
        SCN_GCC_COMPAT_PUSH
5336
10.7k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
10.7k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
10.7k
        switch (specs.type) {
5340
3.34k
            case detail::presentation_type::none:
5341
3.34k
                m_type = reader_type::word;
5342
3.34k
                break;
5343
5344
1.02k
            case detail::presentation_type::string: {
5345
1.02k
                if (specs.align == detail::align_type::left ||
5346
1.02k
                    specs.align == detail::align_type::center) {
5347
660
                    m_type = reader_type::custom_word;
5348
660
                }
5349
366
                else {
5350
366
                    m_type = reader_type::word;
5351
366
                }
5352
1.02k
                break;
5353
0
            }
5354
5355
276
            case detail::presentation_type::character:
5356
276
                m_type = reader_type::character;
5357
276
                break;
5358
5359
4.51k
            case detail::presentation_type::string_set:
5360
4.51k
                m_type = reader_type::character_set;
5361
4.51k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
390
            case detail::presentation_type::regex_escaped:
5369
390
                m_type = reader_type::regex_escaped;
5370
390
                break;
5371
10.7k
#endif
5372
10.7k
        }
5373
5374
10.7k
        SCN_GCC_COMPAT_POP
5375
10.7k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
7.02k
    {
5333
7.02k
        detail::check_string_type_specs(specs, eh);
5334
5335
7.02k
        SCN_GCC_COMPAT_PUSH
5336
7.02k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
7.02k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
7.02k
        switch (specs.type) {
5340
1.81k
            case detail::presentation_type::none:
5341
1.81k
                m_type = reader_type::word;
5342
1.81k
                break;
5343
5344
732
            case detail::presentation_type::string: {
5345
732
                if (specs.align == detail::align_type::left ||
5346
732
                    specs.align == detail::align_type::center) {
5347
468
                    m_type = reader_type::custom_word;
5348
468
                }
5349
264
                else {
5350
264
                    m_type = reader_type::word;
5351
264
                }
5352
732
                break;
5353
0
            }
5354
5355
186
            case detail::presentation_type::character:
5356
186
                m_type = reader_type::character;
5357
186
                break;
5358
5359
3.36k
            case detail::presentation_type::string_set:
5360
3.36k
                m_type = reader_type::character_set;
5361
3.36k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
390
            case detail::presentation_type::regex_escaped:
5369
390
                m_type = reader_type::regex_escaped;
5370
390
                break;
5371
7.02k
#endif
5372
7.02k
        }
5373
5374
7.02k
        SCN_GCC_COMPAT_POP
5375
7.02k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
3.70k
    {
5333
3.70k
        detail::check_string_type_specs(specs, eh);
5334
5335
3.70k
        SCN_GCC_COMPAT_PUSH
5336
3.70k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
3.70k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
3.70k
        switch (specs.type) {
5340
1.52k
            case detail::presentation_type::none:
5341
1.52k
                m_type = reader_type::word;
5342
1.52k
                break;
5343
5344
294
            case detail::presentation_type::string: {
5345
294
                if (specs.align == detail::align_type::left ||
5346
294
                    specs.align == detail::align_type::center) {
5347
192
                    m_type = reader_type::custom_word;
5348
192
                }
5349
102
                else {
5350
102
                    m_type = reader_type::word;
5351
102
                }
5352
294
                break;
5353
0
            }
5354
5355
90
            case detail::presentation_type::character:
5356
90
                m_type = reader_type::character;
5357
90
                break;
5358
5359
1.15k
            case detail::presentation_type::string_set:
5360
1.15k
                m_type = reader_type::character_set;
5361
1.15k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
0
            case detail::presentation_type::regex:
5365
0
                m_type = reader_type::regex;
5366
0
                break;
5367
5368
0
            case detail::presentation_type::regex_escaped:
5369
0
                m_type = reader_type::regex_escaped;
5370
0
                break;
5371
3.70k
#endif
5372
3.70k
        }
5373
5374
3.70k
        SCN_GCC_COMPAT_POP
5375
3.70k
    }
5376
5377
    bool skip_ws_before_read() const
5378
17.1k
    {
5379
17.1k
        return m_type == reader_type::word;
5380
17.1k
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5378
11.1k
    {
5379
11.1k
        return m_type == reader_type::word;
5380
11.1k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5378
6.06k
    {
5379
6.06k
        return m_type == reader_type::word;
5380
6.06k
    }
5381
5382
    template <typename Range, typename Value>
5383
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5384
        -> scan_expected<ranges::const_iterator_t<Range>>
5385
3.34k
    {
5386
3.34k
        SCN_UNUSED(loc);
5387
3.34k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
3.34k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
628
    {
5386
628
        SCN_UNUSED(loc);
5387
628
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
628
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
486
    {
5386
486
        SCN_UNUSED(loc);
5387
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
486
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
486
    {
5386
486
        SCN_UNUSED(loc);
5387
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
486
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
486
    {
5386
486
        SCN_UNUSED(loc);
5387
486
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
486
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5389
5390
    template <typename Range, typename Value>
5391
    auto read_specs(Range range,
5392
                    const detail::format_specs& specs,
5393
                    Value& value,
5394
                    detail::locale_ref loc)
5395
        -> scan_expected<ranges::const_iterator_t<Range>>
5396
9.47k
    {
5397
9.47k
        SCN_UNUSED(loc);
5398
9.47k
        return read_impl(range, specs, value);
5399
9.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
818
    {
5397
818
        SCN_UNUSED(loc);
5398
818
        return read_impl(range, specs, value);
5399
818
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.33k
    {
5397
1.33k
        SCN_UNUSED(loc);
5398
1.33k
        return read_impl(range, specs, value);
5399
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
818
    {
5397
818
        SCN_UNUSED(loc);
5398
818
        return read_impl(range, specs, value);
5399
818
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.33k
    {
5397
1.33k
        SCN_UNUSED(loc);
5398
1.33k
        return read_impl(range, specs, value);
5399
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
818
    {
5397
818
        SCN_UNUSED(loc);
5398
818
        return read_impl(range, specs, value);
5399
818
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
1.33k
    {
5397
1.33k
        SCN_UNUSED(loc);
5398
1.33k
        return read_impl(range, specs, value);
5399
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
616
    {
5397
616
        SCN_UNUSED(loc);
5398
616
        return read_impl(range, specs, value);
5399
616
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
616
    {
5397
616
        SCN_UNUSED(loc);
5398
616
        return read_impl(range, specs, value);
5399
616
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
616
    {
5397
616
        SCN_UNUSED(loc);
5398
616
        return read_impl(range, specs, value);
5399
616
    }
5400
5401
protected:
5402
    enum class reader_type {
5403
        word,
5404
        custom_word,
5405
        character,
5406
        character_set,
5407
#if !SCN_DISABLE_REGEX
5408
        regex,
5409
        regex_escaped,
5410
#endif
5411
    };
5412
5413
    template <typename Range, typename Value>
5414
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5415
        -> scan_expected<ranges::const_iterator_t<Range>>
5416
9.47k
    {
5417
9.47k
        SCN_CLANG_PUSH
5418
9.47k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
9.47k
        switch (m_type) {
5421
3.57k
            case reader_type::word:
5422
3.57k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
648
            case reader_type::custom_word:
5425
648
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
648
                                                                   value);
5427
5428
252
            case reader_type::character:
5429
252
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
4.50k
            case reader_type::character_set:
5432
4.50k
                return character_set_reader_impl<SourceCharT>{}.read(
5433
4.50k
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
102
            case reader_type::regex:
5437
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
102
                    range, specs.charset_string<SourceCharT>(),
5439
102
                    specs.regexp_flags, value);
5440
5441
390
            case reader_type::regex_escaped:
5442
390
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
390
                    range,
5444
390
                    get_unescaped_regex_pattern(
5445
390
                        specs.charset_string<SourceCharT>()),
5446
390
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
9.47k
                SCN_UNREACHABLE;
5452
9.47k
        }
5453
5454
9.47k
        SCN_CLANG_POP
5455
9.47k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
818
    {
5417
818
        SCN_CLANG_PUSH
5418
818
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
818
        switch (m_type) {
5421
324
            case reader_type::word:
5422
324
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
56
            case reader_type::regex_escaped:
5442
56
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
56
                    range,
5444
56
                    get_unescaped_regex_pattern(
5445
56
                        specs.charset_string<SourceCharT>()),
5446
56
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
818
                SCN_UNREACHABLE;
5452
818
        }
5453
5454
818
        SCN_CLANG_POP
5455
818
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.33k
    {
5417
1.33k
        SCN_CLANG_PUSH
5418
1.33k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.33k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
842
            case reader_type::character_set:
5432
842
                return character_set_reader_impl<SourceCharT>{}.read(
5433
842
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.33k
                SCN_UNREACHABLE;
5452
1.33k
        }
5453
5454
1.33k
        SCN_CLANG_POP
5455
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
818
    {
5417
818
        SCN_CLANG_PUSH
5418
818
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
818
        switch (m_type) {
5421
324
            case reader_type::word:
5422
324
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
56
            case reader_type::regex_escaped:
5442
56
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
56
                    range,
5444
56
                    get_unescaped_regex_pattern(
5445
56
                        specs.charset_string<SourceCharT>()),
5446
56
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
818
                SCN_UNREACHABLE;
5452
818
        }
5453
5454
818
        SCN_CLANG_POP
5455
818
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.33k
    {
5417
1.33k
        SCN_CLANG_PUSH
5418
1.33k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.33k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
842
            case reader_type::character_set:
5432
842
                return character_set_reader_impl<SourceCharT>{}.read(
5433
842
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.33k
                SCN_UNREACHABLE;
5452
1.33k
        }
5453
5454
1.33k
        SCN_CLANG_POP
5455
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
818
    {
5417
818
        SCN_CLANG_PUSH
5418
818
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
818
        switch (m_type) {
5421
324
            case reader_type::word:
5422
324
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
56
            case reader_type::regex_escaped:
5442
56
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
56
                    range,
5444
56
                    get_unescaped_regex_pattern(
5445
56
                        specs.charset_string<SourceCharT>()),
5446
56
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
818
                SCN_UNREACHABLE;
5452
818
        }
5453
5454
818
        SCN_CLANG_POP
5455
818
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.33k
    {
5417
1.33k
        SCN_CLANG_PUSH
5418
1.33k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.33k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
842
            case reader_type::character_set:
5432
842
                return character_set_reader_impl<SourceCharT>{}.read(
5433
842
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.33k
                SCN_UNREACHABLE;
5452
1.33k
        }
5453
5454
1.33k
        SCN_CLANG_POP
5455
1.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
616
    {
5417
616
        SCN_CLANG_PUSH
5418
616
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
616
        switch (m_type) {
5421
380
            case reader_type::word:
5422
380
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
34
            case reader_type::custom_word:
5425
34
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
34
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
202
            case reader_type::character_set:
5432
202
                return character_set_reader_impl<SourceCharT>{}.read(
5433
202
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
616
                SCN_UNREACHABLE;
5452
616
        }
5453
5454
616
        SCN_CLANG_POP
5455
616
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
616
    {
5417
616
        SCN_CLANG_PUSH
5418
616
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
616
        switch (m_type) {
5421
380
            case reader_type::word:
5422
380
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
34
            case reader_type::custom_word:
5425
34
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
34
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
202
            case reader_type::character_set:
5432
202
                return character_set_reader_impl<SourceCharT>{}.read(
5433
202
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
616
                SCN_UNREACHABLE;
5452
616
        }
5453
5454
616
        SCN_CLANG_POP
5455
616
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
616
    {
5417
616
        SCN_CLANG_PUSH
5418
616
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
616
        switch (m_type) {
5421
380
            case reader_type::word:
5422
380
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
34
            case reader_type::custom_word:
5425
34
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
34
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
202
            case reader_type::character_set:
5432
202
                return character_set_reader_impl<SourceCharT>{}.read(
5433
202
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
616
                SCN_UNREACHABLE;
5452
616
        }
5453
5454
616
        SCN_CLANG_POP
5455
616
    }
5456
5457
    reader_type m_type{reader_type::word};
5458
};
5459
5460
template <typename SourceCharT>
5461
class reader_impl_for_string : public string_reader<SourceCharT> {};
5462
5463
/////////////////////////////////////////////////////////////////
5464
// Boolean reader
5465
/////////////////////////////////////////////////////////////////
5466
5467
struct bool_reader_base {
5468
    enum options_type { allow_text = 1, allow_numeric = 2 };
5469
5470
1.11k
    constexpr bool_reader_base() = default;
5471
1.63k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5472
5473
    template <typename Range>
5474
    auto read_classic(Range range, bool& value) const
5475
        -> scan_expected<ranges::const_iterator_t<Range>>
5476
2.65k
    {
5477
2.65k
        scan_error err{scan_error::invalid_scanned_value,
5478
2.65k
                       "Failed to read boolean"};
5479
5480
2.65k
        if (m_options & allow_numeric) {
5481
2.32k
            if (auto r = read_numeric(range, value)) {
5482
66
                return *r;
5483
66
            }
5484
2.25k
            else {
5485
2.25k
                err = r.error();
5486
2.25k
            }
5487
2.32k
        }
5488
5489
2.59k
        if (m_options & allow_text) {
5490
2.47k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
2.47k
            else {
5494
2.47k
                err = r.error();
5495
2.47k
            }
5496
2.47k
        }
5497
5498
2.59k
        return unexpected(err);
5499
2.59k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
1.04k
    {
5477
1.04k
        scan_error err{scan_error::invalid_scanned_value,
5478
1.04k
                       "Failed to read boolean"};
5479
5480
1.04k
        if (m_options & allow_numeric) {
5481
912
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
912
            else {
5485
912
                err = r.error();
5486
912
            }
5487
912
        }
5488
5489
1.04k
        if (m_options & allow_text) {
5490
1.01k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
1.01k
            else {
5494
1.01k
                err = r.error();
5495
1.01k
            }
5496
1.01k
        }
5497
5498
1.04k
        return unexpected(err);
5499
1.04k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
454
    {
5477
454
        scan_error err{scan_error::invalid_scanned_value,
5478
454
                       "Failed to read boolean"};
5479
5480
454
        if (m_options & allow_numeric) {
5481
344
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
344
            else {
5485
344
                err = r.error();
5486
344
            }
5487
344
        }
5488
5489
454
        if (m_options & allow_text) {
5490
426
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
426
            else {
5494
426
                err = r.error();
5495
426
            }
5496
426
        }
5497
5498
454
        return unexpected(err);
5499
454
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
948
    {
5477
948
        scan_error err{scan_error::invalid_scanned_value,
5478
948
                       "Failed to read boolean"};
5479
5480
948
        if (m_options & allow_numeric) {
5481
892
            if (auto r = read_numeric(range, value)) {
5482
46
                return *r;
5483
46
            }
5484
846
            else {
5485
846
                err = r.error();
5486
846
            }
5487
892
        }
5488
5489
902
        if (m_options & allow_text) {
5490
862
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
862
            else {
5494
862
                err = r.error();
5495
862
            }
5496
862
        }
5497
5498
902
        return unexpected(err);
5499
902
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
214
    {
5477
214
        scan_error err{scan_error::invalid_scanned_value,
5478
214
                       "Failed to read boolean"};
5479
5480
214
        if (m_options & allow_numeric) {
5481
176
            if (auto r = read_numeric(range, value)) {
5482
20
                return *r;
5483
20
            }
5484
156
            else {
5485
156
                err = r.error();
5486
156
            }
5487
176
        }
5488
5489
194
        if (m_options & allow_text) {
5490
170
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
170
            else {
5494
170
                err = r.error();
5495
170
            }
5496
170
        }
5497
5498
194
        return unexpected(err);
5499
194
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5500
5501
protected:
5502
    template <typename Range>
5503
    auto read_numeric(Range range, bool& value) const
5504
        -> scan_expected<ranges::const_iterator_t<Range>>
5505
2.40k
    {
5506
2.40k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
76
            value = false;
5508
76
            return *r;
5509
76
        }
5510
2.33k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
2.33k
        return detail::unexpected_scan_error(
5516
2.33k
            scan_error::invalid_scanned_value,
5517
2.33k
            "Failed to read numeric boolean value: No match");
5518
2.33k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
924
    {
5506
924
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
924
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
924
        return detail::unexpected_scan_error(
5516
924
            scan_error::invalid_scanned_value,
5517
924
            "Failed to read numeric boolean value: No match");
5518
924
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
360
    {
5506
360
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
360
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
360
        return detail::unexpected_scan_error(
5516
360
            scan_error::invalid_scanned_value,
5517
360
            "Failed to read numeric boolean value: No match");
5518
360
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
920
    {
5506
920
        if (auto r = read_matching_code_unit(range, '0')) {
5507
52
            value = false;
5508
52
            return *r;
5509
52
        }
5510
868
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
868
        return detail::unexpected_scan_error(
5516
868
            scan_error::invalid_scanned_value,
5517
868
            "Failed to read numeric boolean value: No match");
5518
868
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
202
    {
5506
202
        if (auto r = read_matching_code_unit(range, '0')) {
5507
24
            value = false;
5508
24
            return *r;
5509
24
        }
5510
178
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
178
        return detail::unexpected_scan_error(
5516
178
            scan_error::invalid_scanned_value,
5517
178
            "Failed to read numeric boolean value: No match");
5518
178
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5519
5520
    template <typename Range>
5521
    auto read_textual_classic(Range range, bool& value) const
5522
        -> scan_expected<ranges::const_iterator_t<Range>>
5523
2.47k
    {
5524
2.47k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
2.47k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
2.47k
        return detail::unexpected_scan_error(
5534
2.47k
            scan_error::invalid_scanned_value,
5535
2.47k
            "Failed to read textual boolean value: No match");
5536
2.47k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
1.01k
    {
5524
1.01k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
1.01k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
1.01k
        return detail::unexpected_scan_error(
5534
1.01k
            scan_error::invalid_scanned_value,
5535
1.01k
            "Failed to read textual boolean value: No match");
5536
1.01k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
426
    {
5524
426
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
426
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
426
        return detail::unexpected_scan_error(
5534
426
            scan_error::invalid_scanned_value,
5535
426
            "Failed to read textual boolean value: No match");
5536
426
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
862
    {
5524
862
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
862
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
862
        return detail::unexpected_scan_error(
5534
862
            scan_error::invalid_scanned_value,
5535
862
            "Failed to read textual boolean value: No match");
5536
862
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
170
    {
5524
170
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
170
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
170
        return detail::unexpected_scan_error(
5534
170
            scan_error::invalid_scanned_value,
5535
170
            "Failed to read textual boolean value: No match");
5536
170
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5537
5538
    unsigned m_options{allow_text | allow_numeric};
5539
};
5540
5541
template <typename CharT>
5542
struct bool_reader : public bool_reader_base {
5543
    using bool_reader_base::bool_reader_base;
5544
5545
#if !SCN_DISABLE_LOCALE
5546
    template <typename Range>
5547
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5548
        -> scan_expected<ranges::const_iterator_t<Range>>
5549
94
    {
5550
94
        scan_error err{scan_error::invalid_scanned_value,
5551
94
                       "Failed to read boolean"};
5552
5553
94
        if (m_options & allow_numeric) {
5554
82
            if (auto r = read_numeric(range, value)) {
5555
10
                return *r;
5556
10
            }
5557
72
            else {
5558
72
                err = r.error();
5559
72
            }
5560
82
        }
5561
5562
84
        if (m_options & allow_text) {
5563
50
            auto stdloc = loc.get<std::locale>();
5564
50
            const auto& numpunct =
5565
50
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
50
            const auto truename = numpunct.truename();
5567
50
            const auto falsename = numpunct.falsename();
5568
5569
50
            if (auto r =
5570
50
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
50
            else {
5574
50
                err = r.error();
5575
50
            }
5576
50
        }
5577
5578
84
        return unexpected(err);
5579
84
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
16
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
16
            else {
5558
16
                err = r.error();
5559
16
            }
5560
16
        }
5561
5562
18
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
12
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
12
            else {
5558
12
                err = r.error();
5559
12
            }
5560
12
        }
5561
5562
18
        if (m_options & allow_text) {
5563
10
            auto stdloc = loc.get<std::locale>();
5564
10
            const auto& numpunct =
5565
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
10
            const auto truename = numpunct.truename();
5567
10
            const auto falsename = numpunct.falsename();
5568
5569
10
            if (auto r =
5570
10
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
10
            else {
5574
10
                err = r.error();
5575
10
            }
5576
10
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
28
    {
5550
28
        scan_error err{scan_error::invalid_scanned_value,
5551
28
                       "Failed to read boolean"};
5552
5553
28
        if (m_options & allow_numeric) {
5554
26
            if (auto r = read_numeric(range, value)) {
5555
4
                return *r;
5556
4
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
26
        }
5561
5562
24
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
30
    {
5550
30
        scan_error err{scan_error::invalid_scanned_value,
5551
30
                       "Failed to read boolean"};
5552
5553
30
        if (m_options & allow_numeric) {
5554
28
            if (auto r = read_numeric(range, value)) {
5555
6
                return *r;
5556
6
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
28
        }
5561
5562
24
        if (m_options & allow_text) {
5563
12
            auto stdloc = loc.get<std::locale>();
5564
12
            const auto& numpunct =
5565
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
12
            const auto truename = numpunct.truename();
5567
12
            const auto falsename = numpunct.falsename();
5568
5569
12
            if (auto r =
5570
12
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
12
            else {
5574
12
                err = r.error();
5575
12
            }
5576
12
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5580
#endif
5581
5582
protected:
5583
    template <typename Range>
5584
    auto read_textual_custom(Range range,
5585
                             bool& value,
5586
                             std::basic_string_view<CharT> truename,
5587
                             std::basic_string_view<CharT> falsename) const
5588
        -> scan_expected<ranges::const_iterator_t<Range>>
5589
50
    {
5590
50
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
50
        const auto shorter = std::pair{
5592
50
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
50
        const auto longer = std::pair{
5594
50
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
50
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
50
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
50
        return detail::unexpected_scan_error(
5606
50
            scan_error::invalid_scanned_value,
5607
50
            "Failed to read textual boolean: No match");
5608
50
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5589
10
    {
5590
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
10
        const auto shorter = std::pair{
5592
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
10
        const auto longer = std::pair{
5594
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
10
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
10
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
10
        return detail::unexpected_scan_error(
5606
10
            scan_error::invalid_scanned_value,
5607
10
            "Failed to read textual boolean: No match");
5608
10
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5589
12
    {
5590
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
12
        const auto shorter = std::pair{
5592
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
12
        const auto longer = std::pair{
5594
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
12
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
12
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
12
        return detail::unexpected_scan_error(
5606
12
            scan_error::invalid_scanned_value,
5607
12
            "Failed to read textual boolean: No match");
5608
12
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5609
};
5610
5611
template <typename CharT>
5612
class reader_impl_for_bool
5613
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5614
public:
5615
    reader_impl_for_bool() = default;
5616
5617
    void check_specs_impl(const detail::format_specs& specs,
5618
                          reader_error_handler& eh)
5619
3.67k
    {
5620
3.67k
        detail::check_bool_type_specs(specs, eh);
5621
3.67k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
2.38k
    {
5620
2.38k
        detail::check_bool_type_specs(specs, eh);
5621
2.38k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
1.29k
    {
5620
1.29k
        detail::check_bool_type_specs(specs, eh);
5621
1.29k
    }
5622
5623
    template <typename Range>
5624
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5625
        -> scan_expected<ranges::const_iterator_t<Range>>
5626
1.11k
    {
5627
1.11k
        SCN_UNUSED(loc);
5628
5629
1.11k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
1.11k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
628
    {
5627
628
        SCN_UNUSED(loc);
5628
5629
628
        return bool_reader<CharT>{}.read_classic(range, value);
5630
628
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
486
    {
5627
486
        SCN_UNUSED(loc);
5628
5629
486
        return bool_reader<CharT>{}.read_classic(range, value);
5630
486
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5631
5632
    template <typename Range>
5633
    auto read_specs(Range range,
5634
                    const detail::format_specs& specs,
5635
                    bool& value,
5636
                    detail::locale_ref loc) const
5637
        -> scan_expected<ranges::const_iterator_t<Range>>
5638
1.63k
    {
5639
1.63k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
1.63k
#if !SCN_DISABLE_LOCALE
5642
1.63k
        if (specs.localized) {
5643
94
            return rd.read_localized(range, loc, value);
5644
94
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
1.54k
        return rd.read_classic(range, value);
5650
1.63k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
472
    {
5639
472
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
472
#if !SCN_DISABLE_LOCALE
5642
472
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
454
        return rd.read_classic(range, value);
5650
472
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
430
    {
5639
430
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
430
#if !SCN_DISABLE_LOCALE
5642
430
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
412
        return rd.read_classic(range, value);
5650
430
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
242
    {
5639
242
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
242
#if !SCN_DISABLE_LOCALE
5642
242
        if (specs.localized) {
5643
28
            return rd.read_localized(range, loc, value);
5644
28
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
214
        return rd.read_classic(range, value);
5650
242
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
492
    {
5639
492
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
492
#if !SCN_DISABLE_LOCALE
5642
492
        if (specs.localized) {
5643
30
            return rd.read_localized(range, loc, value);
5644
30
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
462
        return rd.read_classic(range, value);
5650
492
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5651
5652
    static constexpr unsigned get_options(const detail::format_specs& specs)
5653
1.63k
    {
5654
1.63k
        SCN_GCC_COMPAT_PUSH
5655
1.63k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
1.63k
        switch (specs.type) {
5658
344
            case detail::presentation_type::string:
5659
344
                return bool_reader_base::allow_text;
5660
5661
38
            case detail::presentation_type::int_generic:
5662
80
            case detail::presentation_type::int_binary:
5663
94
            case detail::presentation_type::int_decimal:
5664
120
            case detail::presentation_type::int_hex:
5665
150
            case detail::presentation_type::int_octal:
5666
170
            case detail::presentation_type::int_unsigned_decimal:
5667
170
                return bool_reader_base::allow_numeric;
5668
5669
1.12k
            default:
5670
1.12k
                return bool_reader_base::allow_text |
5671
1.12k
                       bool_reader_base::allow_numeric;
5672
1.63k
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
1.63k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
902
    {
5654
902
        SCN_GCC_COMPAT_PUSH
5655
902
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
902
        switch (specs.type) {
5658
246
            case detail::presentation_type::string:
5659
246
                return bool_reader_base::allow_text;
5660
5661
14
            case detail::presentation_type::int_generic:
5662
26
            case detail::presentation_type::int_binary:
5663
32
            case detail::presentation_type::int_decimal:
5664
42
            case detail::presentation_type::int_hex:
5665
56
            case detail::presentation_type::int_octal:
5666
62
            case detail::presentation_type::int_unsigned_decimal:
5667
62
                return bool_reader_base::allow_numeric;
5668
5669
594
            default:
5670
594
                return bool_reader_base::allow_text |
5671
594
                       bool_reader_base::allow_numeric;
5672
902
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
902
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
734
    {
5654
734
        SCN_GCC_COMPAT_PUSH
5655
734
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
734
        switch (specs.type) {
5658
98
            case detail::presentation_type::string:
5659
98
                return bool_reader_base::allow_text;
5660
5661
24
            case detail::presentation_type::int_generic:
5662
54
            case detail::presentation_type::int_binary:
5663
62
            case detail::presentation_type::int_decimal:
5664
78
            case detail::presentation_type::int_hex:
5665
94
            case detail::presentation_type::int_octal:
5666
108
            case detail::presentation_type::int_unsigned_decimal:
5667
108
                return bool_reader_base::allow_numeric;
5668
5669
528
            default:
5670
528
                return bool_reader_base::allow_text |
5671
528
                       bool_reader_base::allow_numeric;
5672
734
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
734
    }
5676
};
5677
5678
/////////////////////////////////////////////////////////////////
5679
// Character (code unit, code point) reader
5680
/////////////////////////////////////////////////////////////////
5681
5682
template <typename CharT>
5683
class code_unit_reader {
5684
public:
5685
    template <typename SourceRange>
5686
    auto read(const SourceRange& range, CharT& ch)
5687
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5688
2.22k
    {
5689
2.22k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
2.22k
        ch = *range.begin();
5691
2.22k
        return it;
5692
2.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5688
340
    {
5689
340
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
340
        ch = *range.begin();
5691
340
        return it;
5692
340
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5688
890
    {
5689
890
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
890
        ch = *range.begin();
5691
890
        return it;
5692
890
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5688
148
    {
5689
148
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
148
        ch = *range.begin();
5691
148
        return it;
5692
148
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5688
844
    {
5689
844
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
844
        ch = *range.begin();
5691
844
        return it;
5692
844
    }
5693
};
5694
5695
template <typename CharT>
5696
class code_point_reader;
5697
5698
template <>
5699
class code_point_reader<char32_t> {
5700
public:
5701
    template <typename SourceRange>
5702
    auto read(const SourceRange& range, char32_t& cp)
5703
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5704
0
    {
5705
0
        auto result = read_code_point_into(range);
5706
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5707
0
            return detail::unexpected_scan_error(
5708
0
                scan_error::invalid_scanned_value, "Invalid code point");
5709
0
        }
5710
0
        cp = detail::decode_code_point_exhaustive_valid(
5711
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5712
0
                result.codepoint.data(), result.codepoint.size()});
5713
0
        return result.iterator;
5714
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5715
};
5716
5717
template <>
5718
class code_point_reader<wchar_t> {
5719
public:
5720
    template <typename SourceRange>
5721
    auto read(const SourceRange& range, wchar_t& ch)
5722
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5723
0
    {
5724
0
        code_point_reader<char32_t> reader{};
5725
0
        char32_t cp{};
5726
0
        auto ret = reader.read(range, cp);
5727
0
        if (SCN_UNLIKELY(!ret)) {
5728
0
            return unexpected(ret.error());
5729
0
        }
5730
5731
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5732
0
        ch = encoded_ch;
5733
0
        return *ret;
5734
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5735
};
5736
5737
template <typename ValueCharT>
5738
class char_reader_base {
5739
public:
5740
    constexpr char_reader_base() = default;
5741
5742
    bool skip_ws_before_read() const
5743
3.51k
    {
5744
3.51k
        return false;
5745
3.51k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5743
1.89k
    {
5744
1.89k
        return false;
5745
1.89k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5743
1.61k
    {
5744
1.61k
        return false;
5745
1.61k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5746
5747
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5748
3.57k
    {
5749
3.57k
        reader_error_handler eh{};
5750
3.57k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
0
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
3.57k
        else {
5754
3.57k
            detail::check_char_type_specs(specs, eh);
5755
3.57k
        }
5756
3.57k
        if (SCN_UNLIKELY(!eh)) {
5757
2.30k
            return detail::unexpected_scan_error(
5758
2.30k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.30k
        }
5760
1.26k
        return {};
5761
3.57k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
2.34k
    {
5749
2.34k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
2.34k
        else {
5754
2.34k
            detail::check_char_type_specs(specs, eh);
5755
2.34k
        }
5756
2.34k
        if (SCN_UNLIKELY(!eh)) {
5757
1.67k
            return detail::unexpected_scan_error(
5758
1.67k
                scan_error::invalid_format_string, eh.m_msg);
5759
1.67k
        }
5760
666
        return {};
5761
2.34k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
1.23k
    {
5749
1.23k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
1.23k
        else {
5754
1.23k
            detail::check_char_type_specs(specs, eh);
5755
1.23k
        }
5756
1.23k
        if (SCN_UNLIKELY(!eh)) {
5757
632
            return detail::unexpected_scan_error(
5758
632
                scan_error::invalid_format_string, eh.m_msg);
5759
632
        }
5760
602
        return {};
5761
1.23k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5762
};
5763
5764
template <typename CharT>
5765
class reader_impl_for_char : public char_reader_base<char> {
5766
public:
5767
    template <typename Range>
5768
    auto read_default(Range range, char& value, detail::locale_ref loc)
5769
        -> scan_expected<ranges::const_iterator_t<Range>>
5770
1.23k
    {
5771
1.23k
        SCN_UNUSED(loc);
5772
1.23k
        if constexpr (std::is_same_v<CharT, char>) {
5773
1.23k
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
0
        else {
5776
0
            SCN_UNUSED(range);
5777
0
            SCN_EXPECT(false);
5778
0
            SCN_UNREACHABLE;
5779
0
        }
5780
1.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5770
340
    {
5771
340
        SCN_UNUSED(loc);
5772
340
        if constexpr (std::is_same_v<CharT, char>) {
5773
340
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
340
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5770
890
    {
5771
890
        SCN_UNUSED(loc);
5772
890
        if constexpr (std::is_same_v<CharT, char>) {
5773
890
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
890
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5781
5782
    template <typename Range>
5783
    auto read_specs(Range range,
5784
                    const detail::format_specs& specs,
5785
                    char& value,
5786
                    detail::locale_ref loc)
5787
        -> scan_expected<ranges::const_iterator_t<Range>>
5788
660
    {
5789
660
        if (specs.type == detail::presentation_type::none ||
5790
660
            specs.type == detail::presentation_type::character) {
5791
602
            return read_default(range, value, loc);
5792
602
        }
5793
5794
58
        reader_impl_for_int<CharT> reader{};
5795
58
        signed char tmp_value{};
5796
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
58
        value = static_cast<char>(tmp_value);
5798
58
        return ret;
5799
660
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5788
376
    {
5789
376
        if (specs.type == detail::presentation_type::none ||
5790
376
            specs.type == detail::presentation_type::character) {
5791
340
            return read_default(range, value, loc);
5792
340
        }
5793
5794
36
        reader_impl_for_int<CharT> reader{};
5795
36
        signed char tmp_value{};
5796
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
36
        value = static_cast<char>(tmp_value);
5798
36
        return ret;
5799
376
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5788
284
    {
5789
284
        if (specs.type == detail::presentation_type::none ||
5790
284
            specs.type == detail::presentation_type::character) {
5791
262
            return read_default(range, value, loc);
5792
262
        }
5793
5794
22
        reader_impl_for_int<CharT> reader{};
5795
22
        signed char tmp_value{};
5796
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
22
        value = static_cast<char>(tmp_value);
5798
22
        return ret;
5799
284
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5800
};
5801
5802
template <typename CharT>
5803
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5804
public:
5805
    template <typename Range>
5806
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5807
        -> scan_expected<ranges::const_iterator_t<Range>>
5808
992
    {
5809
992
        SCN_UNUSED(loc);
5810
992
        if constexpr (std::is_same_v<CharT, char>) {
5811
0
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
992
        else {
5814
992
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
992
        }
5816
992
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5808
148
    {
5809
148
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
148
        else {
5814
148
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
148
        }
5816
148
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5808
844
    {
5809
844
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
844
        else {
5814
844
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
844
        }
5816
844
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5817
5818
    template <typename Range>
5819
    auto read_specs(Range range,
5820
                    const detail::format_specs& specs,
5821
                    wchar_t& value,
5822
                    detail::locale_ref loc)
5823
        -> scan_expected<ranges::const_iterator_t<Range>>
5824
600
    {
5825
600
        if (specs.type == detail::presentation_type::none ||
5826
600
            specs.type == detail::presentation_type::character) {
5827
506
            return read_default(range, value, loc);
5828
506
        }
5829
5830
94
        reader_impl_for_int<CharT> reader{};
5831
94
        using integer_type =
5832
94
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
94
        integer_type tmp_value{};
5834
94
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
94
        value = static_cast<wchar_t>(tmp_value);
5836
94
        return ret;
5837
600
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5824
194
    {
5825
194
        if (specs.type == detail::presentation_type::none ||
5826
194
            specs.type == detail::presentation_type::character) {
5827
148
            return read_default(range, value, loc);
5828
148
        }
5829
5830
46
        reader_impl_for_int<CharT> reader{};
5831
46
        using integer_type =
5832
46
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
46
        integer_type tmp_value{};
5834
46
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
46
        value = static_cast<wchar_t>(tmp_value);
5836
46
        return ret;
5837
194
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5824
406
    {
5825
406
        if (specs.type == detail::presentation_type::none ||
5826
406
            specs.type == detail::presentation_type::character) {
5827
358
            return read_default(range, value, loc);
5828
358
        }
5829
5830
48
        reader_impl_for_int<CharT> reader{};
5831
48
        using integer_type =
5832
48
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
48
        integer_type tmp_value{};
5834
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
48
        value = static_cast<wchar_t>(tmp_value);
5836
48
        return ret;
5837
406
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5838
};
5839
5840
template <typename CharT>
5841
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5842
public:
5843
    template <typename Range>
5844
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5845
        -> scan_expected<ranges::const_iterator_t<Range>>
5846
0
    {
5847
0
        SCN_UNUSED(loc);
5848
0
        return code_point_reader<char32_t>{}.read(range, value);
5849
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5850
5851
    template <typename Range>
5852
    auto read_specs(Range range,
5853
                    const detail::format_specs& specs,
5854
                    char32_t& value,
5855
                    detail::locale_ref loc)
5856
        -> scan_expected<ranges::const_iterator_t<Range>>
5857
0
    {
5858
0
        SCN_UNUSED(specs);
5859
0
        return read_default(range, value, loc);
5860
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5861
};
5862
5863
/////////////////////////////////////////////////////////////////
5864
// Pointer reader
5865
/////////////////////////////////////////////////////////////////
5866
5867
template <typename CharT>
5868
class reader_impl_for_voidptr {
5869
public:
5870
    constexpr reader_impl_for_voidptr() = default;
5871
5872
    bool skip_ws_before_read() const
5873
2.29k
    {
5874
2.29k
        return true;
5875
2.29k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5873
1.24k
    {
5874
1.24k
        return true;
5875
1.24k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5873
1.05k
    {
5874
1.05k
        return true;
5875
1.05k
    }
5876
5877
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5878
3.57k
    {
5879
3.57k
        reader_error_handler eh{};
5880
3.57k
        detail::check_pointer_type_specs(specs, eh);
5881
3.57k
        if (SCN_UNLIKELY(!eh)) {
5882
2.44k
            return detail::unexpected_scan_error(
5883
2.44k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.44k
        }
5885
1.13k
        return {};
5886
3.57k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
2.34k
    {
5879
2.34k
        reader_error_handler eh{};
5880
2.34k
        detail::check_pointer_type_specs(specs, eh);
5881
2.34k
        if (SCN_UNLIKELY(!eh)) {
5882
1.72k
            return detail::unexpected_scan_error(
5883
1.72k
                scan_error::invalid_format_string, eh.m_msg);
5884
1.72k
        }
5885
612
        return {};
5886
2.34k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
1.23k
    {
5879
1.23k
        reader_error_handler eh{};
5880
1.23k
        detail::check_pointer_type_specs(specs, eh);
5881
1.23k
        if (SCN_UNLIKELY(!eh)) {
5882
716
            return detail::unexpected_scan_error(
5883
716
                scan_error::invalid_format_string, eh.m_msg);
5884
716
        }
5885
518
        return {};
5886
1.23k
    }
5887
5888
    template <typename Range>
5889
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5890
        -> scan_expected<ranges::const_iterator_t<Range>>
5891
2.20k
    {
5892
2.20k
        detail::format_specs specs{};
5893
2.20k
        specs.type = detail::presentation_type::int_hex;
5894
5895
2.20k
        std::uintptr_t intvalue{};
5896
2.20k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
50
                                                                intvalue, loc));
5898
50
        value = reinterpret_cast<void*>(intvalue);
5899
50
        return result;
5900
2.20k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
894
    {
5892
894
        detail::format_specs specs{};
5893
894
        specs.type = detail::presentation_type::int_hex;
5894
5895
894
        std::uintptr_t intvalue{};
5896
894
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
894
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
318
    {
5892
318
        detail::format_specs specs{};
5893
318
        specs.type = detail::presentation_type::int_hex;
5894
5895
318
        std::uintptr_t intvalue{};
5896
318
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
318
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
848
    {
5892
848
        detail::format_specs specs{};
5893
848
        specs.type = detail::presentation_type::int_hex;
5894
5895
848
        std::uintptr_t intvalue{};
5896
848
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
40
                                                                intvalue, loc));
5898
40
        value = reinterpret_cast<void*>(intvalue);
5899
40
        return result;
5900
848
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
146
    {
5892
146
        detail::format_specs specs{};
5893
146
        specs.type = detail::presentation_type::int_hex;
5894
5895
146
        std::uintptr_t intvalue{};
5896
146
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
10
                                                                intvalue, loc));
5898
10
        value = reinterpret_cast<void*>(intvalue);
5899
10
        return result;
5900
146
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5901
5902
    template <typename Range>
5903
    auto read_specs(Range range,
5904
                    const detail::format_specs& specs,
5905
                    void*& value,
5906
                    detail::locale_ref loc)
5907
        -> scan_expected<ranges::const_iterator_t<Range>>
5908
1.09k
    {
5909
1.09k
        SCN_UNUSED(specs);
5910
1.09k
        return read_default(range, value, loc);
5911
1.09k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
318
    {
5909
318
        SCN_UNUSED(specs);
5910
318
        return read_default(range, value, loc);
5911
318
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
266
    {
5909
266
        SCN_UNUSED(specs);
5910
266
        return read_default(range, value, loc);
5911
266
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
146
    {
5909
146
        SCN_UNUSED(specs);
5910
146
        return read_default(range, value, loc);
5911
146
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
362
    {
5909
362
        SCN_UNUSED(specs);
5910
362
        return read_default(range, value, loc);
5911
362
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5912
};
5913
5914
/////////////////////////////////////////////////////////////////
5915
// Argument readers
5916
/////////////////////////////////////////////////////////////////
5917
5918
template <typename Range>
5919
auto skip_ws_before_if_required(bool is_required, Range range)
5920
    -> eof_expected<ranges::iterator_t<Range>>
5921
10.0k
{
5922
10.0k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
10.0k
    if (!is_required) {
5927
1.11k
        return range.begin();
5928
1.11k
    }
5929
5930
8.91k
    return skip_classic_whitespace(range);
5931
10.0k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
5.65k
{
5922
5.65k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
5.65k
    if (!is_required) {
5927
628
        return range.begin();
5928
628
    }
5929
5930
5.02k
    return skip_classic_whitespace(range);
5931
5.65k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
4.37k
{
5922
4.37k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
4.37k
    if (!is_required) {
5927
486
        return range.begin();
5928
486
    }
5929
5930
3.88k
    return skip_classic_whitespace(range);
5931
4.37k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5932
5933
template <typename T, typename CharT>
5934
constexpr auto make_reader()
5935
14.0k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
4.68k
                       std::is_same_v<T, std::wstring_view>) {
5950
4.68k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
9.37k
                       std::is_same_v<T, std::wstring>) {
5954
9.37k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
14.0k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.96k
                       std::is_same_v<T, std::wstring>) {
5954
2.96k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.96k
                       std::is_same_v<T, std::wstring>) {
5954
2.96k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5935
2.96k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
2.96k
                       std::is_same_v<T, std::wstring_view>) {
5950
2.96k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.96k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5935
1.72k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.72k
                       std::is_same_v<T, std::wstring>) {
5954
1.72k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.72k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.72k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.72k
                       std::is_same_v<T, std::wstring>) {
5954
1.72k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.72k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.72k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
1.72k
                       std::is_same_v<T, std::wstring_view>) {
5950
1.72k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.72k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5988
5989
template <typename Context>
5990
struct default_arg_reader {
5991
    using context_type = Context;
5992
    using char_type = typename context_type::char_type;
5993
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5994
5995
    using range_type = typename context_type::range_type;
5996
    using iterator = ranges::iterator_t<range_type>;
5997
5998
    template <typename Reader, typename Range, typename T>
5999
    auto impl(Reader& rd, Range rng, T& value)
6000
        -> scan_expected<ranges::iterator_t<Range>>
6001
10.0k
    {
6002
10.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
10.0k
                        .transform_error(make_eof_scan_error));
6004
10.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
10.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
628
    {
6002
628
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
628
                        .transform_error(make_eof_scan_error));
6004
628
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
628
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
486
    {
6002
486
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
486
                        .transform_error(make_eof_scan_error));
6004
486
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
486
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
6006
6007
    template <typename T>
6008
    scan_expected<iterator> operator()(T& value)
6009
10.0k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
10.0k
                          basic_contiguous_scan_context<char_type>>) {
6014
10.0k
            auto rd = make_reader<T, char_type>();
6015
10.0k
            return impl(rd, range, value);
6016
        }
6017
0
        else if constexpr (!detail::is_type_disabled<T>) {
6018
0
            auto rd = make_reader<T, char_type>();
6019
0
            if (!is_segment_contiguous(range)) {
6020
0
                return impl(rd, range, value);
6021
0
            }
6022
0
            auto crange = get_as_contiguous(range);
6023
0
            SCN_TRY(it, impl(rd, crange, value));
6024
0
            return ranges::next(range.begin(),
6025
0
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
10.0k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6009
628
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
628
                          basic_contiguous_scan_context<char_type>>) {
6014
628
            auto rd = make_reader<T, char_type>();
6015
628
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
628
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6009
486
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
486
                          basic_contiguous_scan_context<char_type>>) {
6014
486
            auto rd = make_reader<T, char_type>();
6015
486
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
486
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6032
6033
    detail::default_context<char_type> make_custom_ctx()
6034
0
    {
6035
        if constexpr (std::is_same_v<
6036
                          context_type,
6037
0
                          basic_contiguous_scan_context<char_type>>) {
6038
0
            auto it =
6039
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6040
0
                    std::basic_string_view<char_type>(range.data(),
6041
0
                                                      range.size()),
6042
0
                    0};
6043
0
            return {it, args, loc};
6044
        }
6045
0
        else {
6046
0
            return {range.begin(), args, loc};
6047
0
        }
6048
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
6049
6050
    scan_expected<iterator> operator()(
6051
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6052
0
    {
6053
0
        if constexpr (!detail::is_type_disabled<void>) {
6054
0
            basic_scan_parse_context<char_type> parse_ctx{
6055
0
                source_tag<range_type>, {}};
6056
0
            auto ctx = make_custom_ctx();
6057
0
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6058
6059
            if constexpr (std::is_same_v<
6060
                              context_type,
6061
0
                              basic_contiguous_scan_context<char_type>>) {
6062
0
                return range.begin() + ctx.begin().position();
6063
            }
6064
0
            else {
6065
0
                return ctx.begin();
6066
0
            }
6067
        }
6068
        else {
6069
            SCN_EXPECT(false);
6070
            SCN_UNREACHABLE;
6071
        }
6072
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
6073
6074
    range_type range;
6075
    args_type args;
6076
    detail::locale_ref loc;
6077
};
6078
6079
template <typename Iterator>
6080
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6081
6082
template <typename Range>
6083
auto skip_fill(Range range,
6084
               std::ptrdiff_t max_width,
6085
               const detail::fill_type& fill,
6086
               bool want_skipped_width)
6087
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6088
4.26k
{
6089
4.26k
    using char_type = detail::char_t<Range>;
6090
4.26k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
4.26k
    if (fill.size() <= sizeof(char_type)) {
6093
2.86k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
4.62k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
890
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
2.23k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
716
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
782
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
2.86k
        if (max_width == 0) {
6097
1.53k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.53k
            if (want_skipped_width) {
6100
244
                auto prefix_width =
6101
244
                    static_cast<std::ptrdiff_t>(
6102
244
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
244
                    ranges::distance(range.begin(), it);
6104
244
                return result_type{it, prefix_width};
6105
244
            }
6106
1.29k
            return result_type{it, 0};
6107
1.53k
        }
6108
6109
1.32k
        auto max_width_view = take_width(range, max_width);
6110
1.32k
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
1.32k
        if (want_skipped_width) {
6113
1.32k
            return result_type{w_it.base(), max_width - w_it.count()};
6114
1.32k
        }
6115
0
        return result_type{w_it.base(), 0};
6116
1.32k
    }
6117
6118
1.40k
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
1.40k
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
1.09k
    auto max_width_view = take_width(range, max_width);
6132
1.09k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
1.09k
    if (want_skipped_width) {
6135
1.09k
        return result_type{w_it.base(), max_width - w_it.count()};
6136
1.09k
    }
6137
0
    return result_type{w_it.base(), 0};
6138
1.09k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.12k
{
6089
1.12k
    using char_type = detail::char_t<Range>;
6090
1.12k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.12k
    if (fill.size() <= sizeof(char_type)) {
6093
472
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
472
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
472
        if (max_width == 0) {
6097
364
            auto it = read_while_code_unit(range, pred);
6098
6099
364
            if (want_skipped_width) {
6100
106
                auto prefix_width =
6101
106
                    static_cast<std::ptrdiff_t>(
6102
106
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
106
                    ranges::distance(range.begin(), it);
6104
106
                return result_type{it, prefix_width};
6105
106
            }
6106
258
            return result_type{it, 0};
6107
364
        }
6108
6109
108
        auto max_width_view = take_width(range, max_width);
6110
108
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
108
        if (want_skipped_width) {
6113
108
            return result_type{w_it.base(), max_width - w_it.count()};
6114
108
        }
6115
0
        return result_type{w_it.base(), 0};
6116
108
    }
6117
6118
650
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
650
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
334
    auto max_width_view = take_width(range, max_width);
6132
334
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
334
    if (want_skipped_width) {
6135
334
        return result_type{w_it.base(), max_width - w_it.count()};
6136
334
    }
6137
0
    return result_type{w_it.base(), 0};
6138
334
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.38k
{
6089
1.38k
    using char_type = detail::char_t<Range>;
6090
1.38k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.38k
    if (fill.size() <= sizeof(char_type)) {
6093
1.38k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
1.38k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
1.38k
        if (max_width == 0) {
6097
1.17k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.17k
            if (want_skipped_width) {
6100
138
                auto prefix_width =
6101
138
                    static_cast<std::ptrdiff_t>(
6102
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
138
                    ranges::distance(range.begin(), it);
6104
138
                return result_type{it, prefix_width};
6105
138
            }
6106
1.03k
            return result_type{it, 0};
6107
1.17k
        }
6108
6109
206
        auto max_width_view = take_width(range, max_width);
6110
206
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
206
        if (want_skipped_width) {
6113
206
            return result_type{w_it.base(), max_width - w_it.count()};
6114
206
        }
6115
0
        return result_type{w_it.base(), 0};
6116
206
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.25k
{
6089
1.25k
    using char_type = detail::char_t<Range>;
6090
1.25k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.25k
    if (fill.size() <= sizeof(char_type)) {
6093
500
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
500
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
500
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
500
        auto max_width_view = take_width(range, max_width);
6110
500
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
500
        if (want_skipped_width) {
6113
500
            return result_type{w_it.base(), max_width - w_it.count()};
6114
500
        }
6115
0
        return result_type{w_it.base(), 0};
6116
500
    }
6117
6118
756
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
756
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
756
    auto max_width_view = take_width(range, max_width);
6132
756
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
756
    if (want_skipped_width) {
6135
756
        return result_type{w_it.base(), max_width - w_it.count()};
6136
756
    }
6137
0
    return result_type{w_it.base(), 0};
6138
756
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
510
{
6089
510
    using char_type = detail::char_t<Range>;
6090
510
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
510
    if (fill.size() <= sizeof(char_type)) {
6093
510
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
510
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
510
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
510
        auto max_width_view = take_width(range, max_width);
6110
510
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
510
        if (want_skipped_width) {
6113
510
            return result_type{w_it.base(), max_width - w_it.count()};
6114
510
        }
6115
0
        return result_type{w_it.base(), 0};
6116
510
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
6139
6140
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6141
    const detail::format_specs& specs,
6142
    std::ptrdiff_t prefix_width,
6143
    std::ptrdiff_t value_width,
6144
    std::ptrdiff_t postfix_width)
6145
7.78k
{
6146
7.78k
    if (specs.width != 0) {
6147
2.09k
        if (prefix_width + value_width + postfix_width < specs.width) {
6148
912
            return detail::unexpected_scan_error(
6149
912
                scan_error::length_too_short,
6150
912
                "Scanned value too narrow, width did not exceed what "
6151
912
                "was specified in the format string");
6152
912
        }
6153
2.09k
    }
6154
6.87k
    if (specs.precision != 0) {
6155
        // Ensured by take_width_view
6156
2.93k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6157
2.93k
                   specs.precision);
6158
2.93k
    }
6159
6.87k
    return {};
6160
6.87k
}
6161
6162
template <typename Context>
6163
struct arg_reader {
6164
    using context_type = Context;
6165
    using char_type = typename context_type::char_type;
6166
6167
    using range_type = typename context_type::range_type;
6168
    using iterator = ranges::iterator_t<range_type>;
6169
6170
    template <typename Range>
6171
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6172
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6173
17.7k
    {
6174
17.7k
        const bool need_skipped_width =
6175
17.7k
            specs.width != 0 || specs.precision != 0;
6176
17.7k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
17.7k
        if (specs.align == detail::align_type::right ||
6180
17.7k
            specs.align == detail::align_type::center) {
6181
3.02k
            return skip_fill(rng, specs.precision, specs.fill,
6182
3.02k
                             need_skipped_width);
6183
3.02k
        }
6184
14.7k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
7.72k
            if (specs.precision != 0) {
6188
3.43k
                auto max_width_view = take_width(rng, specs.precision);
6189
3.43k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
3.08k
                                  .transform_error(make_eof_scan_error));
6191
3.08k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
3.43k
            }
6193
8.56k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
8.56k
                            make_eof_scan_error));
6195
6196
8.56k
            if (need_skipped_width) {
6197
2.94k
                return result_type{
6198
2.94k
                    it,
6199
2.94k
                    calculate_text_width(make_contiguous_buffer(
6200
2.94k
                                             ranges::subrange{rng.begin(), it})
6201
2.94k
                                             .view())};
6202
2.94k
            }
6203
1.34k
            return result_type{it, 0};
6204
8.56k
        }
6205
6206
7.03k
        return result_type{rng.begin(), 0};
6207
14.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
5.00k
    {
6174
5.00k
        const bool need_skipped_width =
6175
5.00k
            specs.width != 0 || specs.precision != 0;
6176
5.00k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.00k
        if (specs.align == detail::align_type::right ||
6180
5.00k
            specs.align == detail::align_type::center) {
6181
1.25k
            return skip_fill(rng, specs.precision, specs.fill,
6182
1.25k
                             need_skipped_width);
6183
1.25k
        }
6184
3.75k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.23k
            if (specs.precision != 0) {
6188
2.23k
                auto max_width_view = take_width(rng, specs.precision);
6189
2.23k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.99k
                                  .transform_error(make_eof_scan_error));
6191
1.99k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
2.23k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
1.51k
        return result_type{rng.begin(), 0};
6207
3.75k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
5.87k
    {
6174
5.87k
        const bool need_skipped_width =
6175
5.87k
            specs.width != 0 || specs.precision != 0;
6176
5.87k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.87k
        if (specs.align == detail::align_type::right ||
6180
5.87k
            specs.align == detail::align_type::center) {
6181
456
            return skip_fill(rng, specs.precision, specs.fill,
6182
456
                             need_skipped_width);
6183
456
        }
6184
5.42k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.71k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
3.43k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
3.43k
                            make_eof_scan_error));
6195
6196
3.43k
            if (need_skipped_width) {
6197
1.09k
                return result_type{
6198
1.09k
                    it,
6199
1.09k
                    calculate_text_width(make_contiguous_buffer(
6200
1.09k
                                             ranges::subrange{rng.begin(), it})
6201
1.09k
                                             .view())};
6202
1.09k
            }
6203
622
            return result_type{it, 0};
6204
3.43k
        }
6205
6206
3.70k
        return result_type{rng.begin(), 0};
6207
5.42k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
2.48k
    {
6174
2.48k
        const bool need_skipped_width =
6175
2.48k
            specs.width != 0 || specs.precision != 0;
6176
2.48k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
2.48k
        if (specs.align == detail::align_type::right ||
6180
2.48k
            specs.align == detail::align_type::center) {
6181
510
            return skip_fill(rng, specs.precision, specs.fill,
6182
510
                             need_skipped_width);
6183
510
        }
6184
1.97k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.20k
            if (specs.precision != 0) {
6188
1.20k
                auto max_width_view = take_width(rng, specs.precision);
6189
1.20k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.08k
                                  .transform_error(make_eof_scan_error));
6191
1.08k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
1.20k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
770
        return result_type{rng.begin(), 0};
6207
1.97k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
4.41k
    {
6174
4.41k
        const bool need_skipped_width =
6175
4.41k
            specs.width != 0 || specs.precision != 0;
6176
4.41k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.41k
        if (specs.align == detail::align_type::right ||
6180
4.41k
            specs.align == detail::align_type::center) {
6181
806
            return skip_fill(rng, specs.precision, specs.fill,
6182
806
                             need_skipped_width);
6183
806
        }
6184
3.61k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.56k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
5.13k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
5.13k
                            make_eof_scan_error));
6195
6196
5.13k
            if (need_skipped_width) {
6197
1.84k
                return result_type{
6198
1.84k
                    it,
6199
1.84k
                    calculate_text_width(make_contiguous_buffer(
6200
1.84k
                                             ranges::subrange{rng.begin(), it})
6201
1.84k
                                             .view())};
6202
1.84k
            }
6203
720
            return result_type{it, 0};
6204
5.13k
        }
6205
6206
1.04k
        return result_type{rng.begin(), 0};
6207
3.61k
    }
6208
6209
    template <typename Range>
6210
    auto impl_postfix(Range rng,
6211
                      bool rd_skip_ws_before_read,
6212
                      std::ptrdiff_t prefix_width,
6213
                      std::ptrdiff_t value_width)
6214
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6215
5.71k
    {
6216
5.71k
        const bool need_skipped_width =
6217
5.71k
            specs.width != 0 || specs.precision != 0;
6218
5.71k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
5.71k
        if (specs.align == detail::align_type::left ||
6221
5.71k
            specs.align == detail::align_type::center) {
6222
1.53k
            if (specs.precision != 0 &&
6223
1.53k
                specs.precision - value_width - prefix_width == 0) {
6224
290
                return result_type{rng.begin(), 0};
6225
290
            }
6226
1.24k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
1.24k
                             specs.fill, need_skipped_width);
6228
1.53k
        }
6229
4.18k
        if (specs.align == detail::align_type::none &&
6230
4.18k
            !rd_skip_ws_before_read &&
6231
4.18k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
3.32k
             (specs.precision != 0 &&
6233
2.77k
              prefix_width + value_width < specs.precision))) {
6234
1.56k
            if (specs.precision != 0) {
6235
1.00k
                const auto initial_width =
6236
1.00k
                    specs.precision - prefix_width - value_width;
6237
1.00k
                auto max_width_view = take_width(rng, initial_width);
6238
1.00k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
1.00k
                                  .transform_error(make_eof_scan_error));
6240
1.00k
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
1.00k
            }
6242
1.10k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
1.10k
                            make_eof_scan_error));
6244
6245
1.10k
            if (need_skipped_width) {
6246
552
                return result_type{
6247
552
                    it,
6248
552
                    calculate_text_width(make_contiguous_buffer(
6249
552
                                             ranges::subrange{rng.begin(), it})
6250
552
                                             .view())};
6251
552
            }
6252
0
            return result_type{it, 0};
6253
1.10k
        }
6254
2.62k
        return result_type{rng.begin(), 0};
6255
4.18k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
3.26k
    {
6216
3.26k
        const bool need_skipped_width =
6217
3.26k
            specs.width != 0 || specs.precision != 0;
6218
3.26k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
3.26k
        if (specs.align == detail::align_type::left ||
6221
3.26k
            specs.align == detail::align_type::center) {
6222
820
            if (specs.precision != 0 &&
6223
820
                specs.precision - value_width - prefix_width == 0) {
6224
154
                return result_type{rng.begin(), 0};
6225
154
            }
6226
666
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
666
                             specs.fill, need_skipped_width);
6228
820
        }
6229
2.44k
        if (specs.align == detail::align_type::none &&
6230
2.44k
            !rd_skip_ws_before_read &&
6231
2.44k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.99k
             (specs.precision != 0 &&
6233
1.83k
              prefix_width + value_width < specs.precision))) {
6234
722
            if (specs.precision != 0) {
6235
564
                const auto initial_width =
6236
564
                    specs.precision - prefix_width - value_width;
6237
564
                auto max_width_view = take_width(rng, initial_width);
6238
564
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
564
                                  .transform_error(make_eof_scan_error));
6240
564
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
564
            }
6242
316
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
316
                            make_eof_scan_error));
6244
6245
316
            if (need_skipped_width) {
6246
158
                return result_type{
6247
158
                    it,
6248
158
                    calculate_text_width(make_contiguous_buffer(
6249
158
                                             ranges::subrange{rng.begin(), it})
6250
158
                                             .view())};
6251
158
            }
6252
0
            return result_type{it, 0};
6253
316
        }
6254
1.72k
        return result_type{rng.begin(), 0};
6255
2.44k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
2.45k
    {
6216
2.45k
        const bool need_skipped_width =
6217
2.45k
            specs.width != 0 || specs.precision != 0;
6218
2.45k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
2.45k
        if (specs.align == detail::align_type::left ||
6221
2.45k
            specs.align == detail::align_type::center) {
6222
710
            if (specs.precision != 0 &&
6223
710
                specs.precision - value_width - prefix_width == 0) {
6224
136
                return result_type{rng.begin(), 0};
6225
136
            }
6226
574
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
574
                             specs.fill, need_skipped_width);
6228
710
        }
6229
1.74k
        if (specs.align == detail::align_type::none &&
6230
1.74k
            !rd_skip_ws_before_read &&
6231
1.74k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.33k
             (specs.precision != 0 &&
6233
942
              prefix_width + value_width < specs.precision))) {
6234
838
            if (specs.precision != 0) {
6235
444
                const auto initial_width =
6236
444
                    specs.precision - prefix_width - value_width;
6237
444
                auto max_width_view = take_width(rng, initial_width);
6238
444
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
444
                                  .transform_error(make_eof_scan_error));
6240
444
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
444
            }
6242
788
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
788
                            make_eof_scan_error));
6244
6245
788
            if (need_skipped_width) {
6246
394
                return result_type{
6247
394
                    it,
6248
394
                    calculate_text_width(make_contiguous_buffer(
6249
394
                                             ranges::subrange{rng.begin(), it})
6250
394
                                             .view())};
6251
394
            }
6252
0
            return result_type{it, 0};
6253
788
        }
6254
904
        return result_type{rng.begin(), 0};
6255
1.74k
    }
6256
6257
    template <typename Reader, typename Range, typename T>
6258
    auto impl(Reader& rd, Range rng, T& value)
6259
        -> scan_expected<ranges::iterator_t<Range>>
6260
17.7k
    {
6261
17.7k
        const bool need_skipped_width =
6262
17.7k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
17.7k
        auto it = rng.begin();
6266
17.7k
        std::ptrdiff_t prefix_width = 0;
6267
17.7k
        if (specs.precision != 0) {
6268
7.49k
            auto max_width_view = take_width(rng, specs.precision);
6269
7.49k
            SCN_TRY(prefix_result,
6270
7.13k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
7.13k
            it = prefix_result.first.base();
6272
7.13k
            prefix_width = prefix_result.second;
6273
7.13k
        }
6274
10.2k
        else {
6275
10.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
10.2k
            std::tie(it, prefix_width) = prefix_result;
6277
10.2k
        }
6278
17.4k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
17.4k
        std::ptrdiff_t value_width = 0;
6282
17.4k
        if (specs.precision != 0) {
6283
7.13k
            if (specs.precision <= prefix_width) {
6284
104
                return detail::unexpected_scan_error(
6285
104
                    scan_error::invalid_fill,
6286
104
                    "Too many fill characters before value, "
6287
104
                    "precision exceeded before reading value");
6288
104
            }
6289
6290
7.03k
            const auto initial_width = specs.precision - prefix_width;
6291
7.03k
            auto max_width_view =
6292
7.03k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
7.03k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
2.93k
            it = w_it.base();
6295
2.93k
            value_width = initial_width - w_it.count();
6296
2.93k
        }
6297
10.2k
        else {
6298
10.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
4.85k
                                             specs, value, loc));
6300
6301
4.85k
            if (need_skipped_width) {
6302
2.04k
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
2.04k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
2.04k
                        .view()));
6305
2.04k
            }
6306
4.85k
        }
6307
6308
        // Read postfix
6309
7.78k
        std::ptrdiff_t postfix_width = 0;
6310
7.78k
        if (it != rng.end()) {
6311
5.71k
            SCN_TRY(postfix_result,
6312
5.71k
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
5.71k
                                 rd.skip_ws_before_read(), prefix_width,
6314
5.71k
                                 value_width));
6315
5.71k
            std::tie(it, postfix_width) = postfix_result;
6316
5.71k
        }
6317
6318
7.78k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
7.78k
            specs, prefix_width, value_width, postfix_width));
6320
6.87k
        return it;
6321
7.78k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
688
    {
6261
688
        const bool need_skipped_width =
6262
688
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
688
        auto it = rng.begin();
6266
688
        std::ptrdiff_t prefix_width = 0;
6267
688
        if (specs.precision != 0) {
6268
394
            auto max_width_view = take_width(rng, specs.precision);
6269
394
            SCN_TRY(prefix_result,
6270
362
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
362
            it = prefix_result.first.base();
6272
362
            prefix_width = prefix_result.second;
6273
362
        }
6274
294
        else {
6275
294
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
294
            std::tie(it, prefix_width) = prefix_result;
6277
294
        }
6278
656
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
656
        std::ptrdiff_t value_width = 0;
6282
656
        if (specs.precision != 0) {
6283
362
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
356
            const auto initial_width = specs.precision - prefix_width;
6291
356
            auto max_width_view =
6292
356
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
356
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
294
        else {
6298
294
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
688
    {
6261
688
        const bool need_skipped_width =
6262
688
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
688
        auto it = rng.begin();
6266
688
        std::ptrdiff_t prefix_width = 0;
6267
688
        if (specs.precision != 0) {
6268
394
            auto max_width_view = take_width(rng, specs.precision);
6269
394
            SCN_TRY(prefix_result,
6270
362
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
362
            it = prefix_result.first.base();
6272
362
            prefix_width = prefix_result.second;
6273
362
        }
6274
294
        else {
6275
294
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
294
            std::tie(it, prefix_width) = prefix_result;
6277
294
        }
6278
656
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
656
        std::ptrdiff_t value_width = 0;
6282
656
        if (specs.precision != 0) {
6283
362
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
356
            const auto initial_width = specs.precision - prefix_width;
6291
356
            auto max_width_view =
6292
356
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
356
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
294
        else {
6298
294
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
612
    {
6261
612
        const bool need_skipped_width =
6262
612
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
612
        auto it = rng.begin();
6266
612
        std::ptrdiff_t prefix_width = 0;
6267
612
        if (specs.precision != 0) {
6268
346
            auto max_width_view = take_width(rng, specs.precision);
6269
346
            SCN_TRY(prefix_result,
6270
322
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
322
            it = prefix_result.first.base();
6272
322
            prefix_width = prefix_result.second;
6273
322
        }
6274
266
        else {
6275
266
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
266
            std::tie(it, prefix_width) = prefix_result;
6277
266
        }
6278
588
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
588
        std::ptrdiff_t value_width = 0;
6282
588
        if (specs.precision != 0) {
6283
322
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
318
            const auto initial_width = specs.precision - prefix_width;
6291
318
            auto max_width_view =
6292
318
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
318
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
266
        else {
6298
266
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
948
    {
6261
948
        const bool need_skipped_width =
6262
948
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
948
        auto it = rng.begin();
6266
948
        std::ptrdiff_t prefix_width = 0;
6267
948
        if (specs.precision != 0) {
6268
518
            auto max_width_view = take_width(rng, specs.precision);
6269
518
            SCN_TRY(prefix_result,
6270
482
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
482
            it = prefix_result.first.base();
6272
482
            prefix_width = prefix_result.second;
6273
482
        }
6274
430
        else {
6275
430
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
430
            std::tie(it, prefix_width) = prefix_result;
6277
430
        }
6278
912
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
912
        std::ptrdiff_t value_width = 0;
6282
912
        if (specs.precision != 0) {
6283
482
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
472
            const auto initial_width = specs.precision - prefix_width;
6291
472
            auto max_width_view =
6292
472
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
472
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
430
        else {
6298
430
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
666
    {
6261
666
        const bool need_skipped_width =
6262
666
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
666
        auto it = rng.begin();
6266
666
        std::ptrdiff_t prefix_width = 0;
6267
666
        if (specs.precision != 0) {
6268
382
            auto max_width_view = take_width(rng, specs.precision);
6269
382
            SCN_TRY(prefix_result,
6270
382
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
382
            it = prefix_result.first.base();
6272
382
            prefix_width = prefix_result.second;
6273
382
        }
6274
284
        else {
6275
284
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
284
            std::tie(it, prefix_width) = prefix_result;
6277
284
        }
6278
666
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
666
        std::ptrdiff_t value_width = 0;
6282
666
        if (specs.precision != 0) {
6283
382
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
376
            const auto initial_width = specs.precision - prefix_width;
6291
376
            auto max_width_view =
6292
376
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
376
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
340
            it = w_it.base();
6295
340
            value_width = initial_width - w_it.count();
6296
340
        }
6297
284
        else {
6298
284
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
262
                                             specs, value, loc));
6300
6301
262
            if (need_skipped_width) {
6302
196
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
196
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
196
                        .view()));
6305
196
            }
6306
262
        }
6307
6308
        // Read postfix
6309
602
        std::ptrdiff_t postfix_width = 0;
6310
602
        if (it != rng.end()) {
6311
602
            SCN_TRY(postfix_result,
6312
602
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
602
                                 rd.skip_ws_before_read(), prefix_width,
6314
602
                                 value_width));
6315
602
            std::tie(it, postfix_width) = postfix_result;
6316
602
        }
6317
6318
602
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
602
            specs, prefix_width, value_width, postfix_width));
6320
430
        return it;
6321
602
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
702
    {
6261
702
        const bool need_skipped_width =
6262
702
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
702
        auto it = rng.begin();
6266
702
        std::ptrdiff_t prefix_width = 0;
6267
702
        if (specs.precision != 0) {
6268
406
            auto max_width_view = take_width(rng, specs.precision);
6269
406
            SCN_TRY(prefix_result,
6270
376
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
376
            it = prefix_result.first.base();
6272
376
            prefix_width = prefix_result.second;
6273
376
        }
6274
296
        else {
6275
296
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
296
            std::tie(it, prefix_width) = prefix_result;
6277
296
        }
6278
672
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
672
        std::ptrdiff_t value_width = 0;
6282
672
        if (specs.precision != 0) {
6283
376
            if (specs.precision <= prefix_width) {
6284
8
                return detail::unexpected_scan_error(
6285
8
                    scan_error::invalid_fill,
6286
8
                    "Too many fill characters before value, "
6287
8
                    "precision exceeded before reading value");
6288
8
            }
6289
6290
368
            const auto initial_width = specs.precision - prefix_width;
6291
368
            auto max_width_view =
6292
368
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
368
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
296
        else {
6298
296
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
856
            auto max_width_view = take_width(rng, specs.precision);
6269
856
            SCN_TRY(prefix_result,
6270
828
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
828
            it = prefix_result.first.base();
6272
828
            prefix_width = prefix_result.second;
6273
828
        }
6274
1.33k
        else {
6275
1.33k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.33k
            std::tie(it, prefix_width) = prefix_result;
6277
1.33k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
828
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
818
            const auto initial_width = specs.precision - prefix_width;
6291
818
            auto max_width_view =
6292
818
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
818
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
474
            it = w_it.base();
6295
474
            value_width = initial_width - w_it.count();
6296
474
        }
6297
1.33k
        else {
6298
1.33k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
766
                                             specs, value, loc));
6300
6301
766
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
766
        }
6307
6308
        // Read postfix
6309
1.24k
        std::ptrdiff_t postfix_width = 0;
6310
1.24k
        if (it != rng.end()) {
6311
888
            SCN_TRY(postfix_result,
6312
888
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
888
                                 rd.skip_ws_before_read(), prefix_width,
6314
888
                                 value_width));
6315
888
            std::tie(it, postfix_width) = postfix_result;
6316
888
        }
6317
6318
1.24k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.24k
            specs, prefix_width, value_width, postfix_width));
6320
1.15k
        return it;
6321
1.24k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
856
            auto max_width_view = take_width(rng, specs.precision);
6269
856
            SCN_TRY(prefix_result,
6270
828
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
828
            it = prefix_result.first.base();
6272
828
            prefix_width = prefix_result.second;
6273
828
        }
6274
1.33k
        else {
6275
1.33k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.33k
            std::tie(it, prefix_width) = prefix_result;
6277
1.33k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
828
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
818
            const auto initial_width = specs.precision - prefix_width;
6291
818
            auto max_width_view =
6292
818
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
818
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
474
            it = w_it.base();
6295
474
            value_width = initial_width - w_it.count();
6296
474
        }
6297
1.33k
        else {
6298
1.33k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
766
                                             specs, value, loc));
6300
6301
766
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
766
        }
6307
6308
        // Read postfix
6309
1.24k
        std::ptrdiff_t postfix_width = 0;
6310
1.24k
        if (it != rng.end()) {
6311
888
            SCN_TRY(postfix_result,
6312
888
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
888
                                 rd.skip_ws_before_read(), prefix_width,
6314
888
                                 value_width));
6315
888
            std::tie(it, postfix_width) = postfix_result;
6316
888
        }
6317
6318
1.24k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.24k
            specs, prefix_width, value_width, postfix_width));
6320
1.15k
        return it;
6321
1.24k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
2.19k
    {
6261
2.19k
        const bool need_skipped_width =
6262
2.19k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.19k
        auto it = rng.begin();
6266
2.19k
        std::ptrdiff_t prefix_width = 0;
6267
2.19k
        if (specs.precision != 0) {
6268
856
            auto max_width_view = take_width(rng, specs.precision);
6269
856
            SCN_TRY(prefix_result,
6270
828
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
828
            it = prefix_result.first.base();
6272
828
            prefix_width = prefix_result.second;
6273
828
        }
6274
1.33k
        else {
6275
1.33k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.33k
            std::tie(it, prefix_width) = prefix_result;
6277
1.33k
        }
6278
2.16k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.16k
        std::ptrdiff_t value_width = 0;
6282
2.16k
        if (specs.precision != 0) {
6283
828
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
818
            const auto initial_width = specs.precision - prefix_width;
6291
818
            auto max_width_view =
6292
818
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
818
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
474
            it = w_it.base();
6295
474
            value_width = initial_width - w_it.count();
6296
474
        }
6297
1.33k
        else {
6298
1.33k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
766
                                             specs, value, loc));
6300
6301
766
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
766
        }
6307
6308
        // Read postfix
6309
1.24k
        std::ptrdiff_t postfix_width = 0;
6310
1.24k
        if (it != rng.end()) {
6311
888
            SCN_TRY(postfix_result,
6312
888
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
888
                                 rd.skip_ws_before_read(), prefix_width,
6314
888
                                 value_width));
6315
888
            std::tie(it, postfix_width) = postfix_result;
6316
888
        }
6317
6318
1.24k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.24k
            specs, prefix_width, value_width, postfix_width));
6320
1.15k
        return it;
6321
1.24k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
656
    {
6261
656
        const bool need_skipped_width =
6262
656
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
656
        auto it = rng.begin();
6266
656
        std::ptrdiff_t prefix_width = 0;
6267
656
        if (specs.precision != 0) {
6268
224
            auto max_width_view = take_width(rng, specs.precision);
6269
224
            SCN_TRY(prefix_result,
6270
204
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
204
            it = prefix_result.first.base();
6272
204
            prefix_width = prefix_result.second;
6273
204
        }
6274
432
        else {
6275
432
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
432
            std::tie(it, prefix_width) = prefix_result;
6277
432
        }
6278
636
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
636
        std::ptrdiff_t value_width = 0;
6282
636
        if (specs.precision != 0) {
6283
204
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
202
            const auto initial_width = specs.precision - prefix_width;
6291
202
            auto max_width_view =
6292
202
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
202
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
432
        else {
6298
432
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
656
    {
6261
656
        const bool need_skipped_width =
6262
656
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
656
        auto it = rng.begin();
6266
656
        std::ptrdiff_t prefix_width = 0;
6267
656
        if (specs.precision != 0) {
6268
224
            auto max_width_view = take_width(rng, specs.precision);
6269
224
            SCN_TRY(prefix_result,
6270
204
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
204
            it = prefix_result.first.base();
6272
204
            prefix_width = prefix_result.second;
6273
204
        }
6274
432
        else {
6275
432
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
432
            std::tie(it, prefix_width) = prefix_result;
6277
432
        }
6278
636
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
636
        std::ptrdiff_t value_width = 0;
6282
636
        if (specs.precision != 0) {
6283
204
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
202
            const auto initial_width = specs.precision - prefix_width;
6291
202
            auto max_width_view =
6292
202
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
202
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
432
        else {
6298
432
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
518
    {
6261
518
        const bool need_skipped_width =
6262
518
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
518
        auto it = rng.begin();
6266
518
        std::ptrdiff_t prefix_width = 0;
6267
518
        if (specs.precision != 0) {
6268
156
            auto max_width_view = take_width(rng, specs.precision);
6269
156
            SCN_TRY(prefix_result,
6270
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
148
            it = prefix_result.first.base();
6272
148
            prefix_width = prefix_result.second;
6273
148
        }
6274
362
        else {
6275
362
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
362
            std::tie(it, prefix_width) = prefix_result;
6277
362
        }
6278
510
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
510
        std::ptrdiff_t value_width = 0;
6282
510
        if (specs.precision != 0) {
6283
148
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
146
            const auto initial_width = specs.precision - prefix_width;
6291
146
            auto max_width_view =
6292
146
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
146
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
10
            it = w_it.base();
6295
10
            value_width = initial_width - w_it.count();
6296
10
        }
6297
362
        else {
6298
362
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
40
                                             specs, value, loc));
6300
6301
40
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
40
        }
6307
6308
        // Read postfix
6309
50
        std::ptrdiff_t postfix_width = 0;
6310
50
        if (it != rng.end()) {
6311
50
            SCN_TRY(postfix_result,
6312
50
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
50
                                 rd.skip_ws_before_read(), prefix_width,
6314
50
                                 value_width));
6315
50
            std::tie(it, postfix_width) = postfix_result;
6316
50
        }
6317
6318
50
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
50
            specs, prefix_width, value_width, postfix_width));
6320
46
        return it;
6321
50
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
760
    {
6261
760
        const bool need_skipped_width =
6262
760
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
760
        auto it = rng.begin();
6266
760
        std::ptrdiff_t prefix_width = 0;
6267
760
        if (specs.precision != 0) {
6268
268
            auto max_width_view = take_width(rng, specs.precision);
6269
268
            SCN_TRY(prefix_result,
6270
246
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
246
            it = prefix_result.first.base();
6272
246
            prefix_width = prefix_result.second;
6273
246
        }
6274
492
        else {
6275
492
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
492
            std::tie(it, prefix_width) = prefix_result;
6277
492
        }
6278
738
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
738
        std::ptrdiff_t value_width = 0;
6282
738
        if (specs.precision != 0) {
6283
246
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
242
            const auto initial_width = specs.precision - prefix_width;
6291
242
            auto max_width_view =
6292
242
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
242
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
492
        else {
6298
492
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
602
    {
6261
602
        const bool need_skipped_width =
6262
602
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
602
        auto it = rng.begin();
6266
602
        std::ptrdiff_t prefix_width = 0;
6267
602
        if (specs.precision != 0) {
6268
196
            auto max_width_view = take_width(rng, specs.precision);
6269
196
            SCN_TRY(prefix_result,
6270
196
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
196
            it = prefix_result.first.base();
6272
196
            prefix_width = prefix_result.second;
6273
196
        }
6274
406
        else {
6275
406
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
406
            std::tie(it, prefix_width) = prefix_result;
6277
406
        }
6278
602
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
602
        std::ptrdiff_t value_width = 0;
6282
602
        if (specs.precision != 0) {
6283
196
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
194
            const auto initial_width = specs.precision - prefix_width;
6291
194
            auto max_width_view =
6292
194
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
194
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
160
            it = w_it.base();
6295
160
            value_width = initial_width - w_it.count();
6296
160
        }
6297
406
        else {
6298
406
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
366
                                             specs, value, loc));
6300
6301
366
            if (need_skipped_width) {
6302
238
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
238
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
238
                        .view()));
6305
238
            }
6306
366
        }
6307
6308
        // Read postfix
6309
526
        std::ptrdiff_t postfix_width = 0;
6310
526
        if (it != rng.end()) {
6311
526
            SCN_TRY(postfix_result,
6312
526
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
526
                                 rd.skip_ws_before_read(), prefix_width,
6314
526
                                 value_width));
6315
526
            std::tie(it, postfix_width) = postfix_result;
6316
526
        }
6317
6318
526
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
526
            specs, prefix_width, value_width, postfix_width));
6320
298
        return it;
6321
526
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
652
    {
6261
652
        const bool need_skipped_width =
6262
652
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
652
        auto it = rng.begin();
6266
652
        std::ptrdiff_t prefix_width = 0;
6267
652
        if (specs.precision != 0) {
6268
208
            auto max_width_view = take_width(rng, specs.precision);
6269
208
            SCN_TRY(prefix_result,
6270
192
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
192
            it = prefix_result.first.base();
6272
192
            prefix_width = prefix_result.second;
6273
192
        }
6274
444
        else {
6275
444
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
444
            std::tie(it, prefix_width) = prefix_result;
6277
444
        }
6278
636
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
636
        std::ptrdiff_t value_width = 0;
6282
636
        if (specs.precision != 0) {
6283
192
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
188
            const auto initial_width = specs.precision - prefix_width;
6291
188
            auto max_width_view =
6292
188
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
188
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
20
            it = w_it.base();
6295
20
            value_width = initial_width - w_it.count();
6296
20
        }
6297
444
        else {
6298
444
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
74
                                             specs, value, loc));
6300
6301
74
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
74
        }
6307
6308
        // Read postfix
6309
94
        std::ptrdiff_t postfix_width = 0;
6310
94
        if (it != rng.end()) {
6311
94
            SCN_TRY(postfix_result,
6312
94
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
94
                                 rd.skip_ws_before_read(), prefix_width,
6314
94
                                 value_width));
6315
94
            std::tie(it, postfix_width) = postfix_result;
6316
94
        }
6317
6318
94
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
94
            specs, prefix_width, value_width, postfix_width));
6320
90
        return it;
6321
94
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
616
        else {
6275
616
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
616
            std::tie(it, prefix_width) = prefix_result;
6277
616
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
302
            it = w_it.base();
6295
302
            value_width = initial_width - w_it.count();
6296
302
        }
6297
616
        else {
6298
616
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
554
                                             specs, value, loc));
6300
6301
554
            if (need_skipped_width) {
6302
310
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
310
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
310
                        .view()));
6305
310
            }
6306
554
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
518
            SCN_TRY(postfix_result,
6312
518
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
518
                                 rd.skip_ws_before_read(), prefix_width,
6314
518
                                 value_width));
6315
518
            std::tie(it, postfix_width) = postfix_result;
6316
518
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
774
        return it;
6321
856
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
616
        else {
6275
616
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
616
            std::tie(it, prefix_width) = prefix_result;
6277
616
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
302
            it = w_it.base();
6295
302
            value_width = initial_width - w_it.count();
6296
302
        }
6297
616
        else {
6298
616
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
554
                                             specs, value, loc));
6300
6301
554
            if (need_skipped_width) {
6302
310
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
310
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
310
                        .view()));
6305
310
            }
6306
554
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
518
            SCN_TRY(postfix_result,
6312
518
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
518
                                 rd.skip_ws_before_read(), prefix_width,
6314
518
                                 value_width));
6315
518
            std::tie(it, postfix_width) = postfix_result;
6316
518
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
774
        return it;
6321
856
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
616
        else {
6275
616
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
616
            std::tie(it, prefix_width) = prefix_result;
6277
616
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
302
            it = w_it.base();
6295
302
            value_width = initial_width - w_it.count();
6296
302
        }
6297
616
        else {
6298
616
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
554
                                             specs, value, loc));
6300
6301
554
            if (need_skipped_width) {
6302
310
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
310
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
310
                        .view()));
6305
310
            }
6306
554
        }
6307
6308
        // Read postfix
6309
856
        std::ptrdiff_t postfix_width = 0;
6310
856
        if (it != rng.end()) {
6311
518
            SCN_TRY(postfix_result,
6312
518
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
518
                                 rd.skip_ws_before_read(), prefix_width,
6314
518
                                 value_width));
6315
518
            std::tie(it, postfix_width) = postfix_result;
6316
518
        }
6317
6318
856
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
856
            specs, prefix_width, value_width, postfix_width));
6320
774
        return it;
6321
856
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6322
6323
    template <typename T>
6324
    scan_expected<iterator> operator()(T& value)
6325
32.5k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
32.5k
                          basic_contiguous_scan_context<char_type>>) {
6330
32.5k
            auto rd = make_reader<T, char_type>();
6331
32.5k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
17.7k
            return impl(rd, range, value);
6333
        }
6334
0
        else if constexpr (!detail::is_type_disabled<T>) {
6335
0
            auto rd = make_reader<T, char_type>();
6336
0
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
0
                specs.width != 0) {
6340
0
                return impl(rd, range, value);
6341
0
            }
6342
6343
0
            auto crange = get_as_contiguous(range);
6344
0
            SCN_TRY(it, impl(rd, crange, value));
6345
0
            return ranges::next(range.begin(),
6346
0
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
32.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6325
2.38k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.38k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.38k
            auto rd = make_reader<T, char_type>();
6331
2.38k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
688
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.38k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
2.38k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.38k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.38k
            auto rd = make_reader<T, char_type>();
6331
2.38k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
688
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.38k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6325
2.34k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.34k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.34k
            auto rd = make_reader<T, char_type>();
6331
2.34k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
612
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.34k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6325
2.38k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.38k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.38k
            auto rd = make_reader<T, char_type>();
6331
2.38k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
948
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.38k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6325
2.34k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.34k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.34k
            auto rd = make_reader<T, char_type>();
6331
2.34k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
666
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.34k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6325
2.38k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.38k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.38k
            auto rd = make_reader<T, char_type>();
6331
2.38k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
702
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.38k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
2.34k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.34k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.34k
            auto rd = make_reader<T, char_type>();
6331
2.34k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.34k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
2.34k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.34k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.34k
            auto rd = make_reader<T, char_type>();
6331
2.34k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.34k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6325
2.34k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.34k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.34k
            auto rd = make_reader<T, char_type>();
6331
2.34k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.19k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.34k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
656
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
656
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6325
1.23k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.23k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.23k
            auto rd = make_reader<T, char_type>();
6331
1.23k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
518
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.23k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
760
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6325
1.23k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.23k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.23k
            auto rd = make_reader<T, char_type>();
6331
1.23k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
602
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.23k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
652
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
1.23k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.23k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.23k
            auto rd = make_reader<T, char_type>();
6331
1.23k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.23k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
1.23k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.23k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.23k
            auto rd = make_reader<T, char_type>();
6331
1.23k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.23k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6325
1.23k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.23k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.23k
            auto rd = make_reader<T, char_type>();
6331
1.23k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.23k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6353
6354
    scan_expected<iterator> operator()(
6355
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6356
        const
6357
0
    {
6358
0
        SCN_EXPECT(false);
6359
0
        SCN_UNREACHABLE;
6360
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6361
6362
    range_type range;
6363
    const detail::format_specs& specs;
6364
    detail::locale_ref loc;
6365
};
6366
6367
template <typename Context>
6368
struct custom_reader {
6369
    using context_type = Context;
6370
    using char_type = typename context_type::char_type;
6371
    using parse_context_type = typename context_type::parse_context_type;
6372
    using iterator = typename context_type::iterator;
6373
6374
    template <typename T>
6375
    scan_expected<iterator> operator()(T&) const
6376
0
    {
6377
0
        SCN_EXPECT(false);
6378
0
        SCN_UNREACHABLE;
6379
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6380
6381
    scan_expected<iterator> operator()(
6382
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6383
        const
6384
0
    {
6385
0
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6386
0
        return {ctx.begin()};
6387
0
    }
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6388
6389
    parse_context_type& parse_ctx;
6390
    context_type& ctx;
6391
};
6392
}  // namespace impl
6393
6394
SCN_END_NAMESPACE
6395
}  // namespace scn